简介
记录一下用Express操作MySQL,我用的是Express的脚手架。可以用以下命令生成,因为纯写api,所以没有模板。
cnpm i express-generator -g express myproject
开始操作
先创建一个路由文件,存放于/routes/users.js
//users.js
var express = require('express');
var router = express.Router();
router.get('/',(req,res,next)=>{
res.send('hello world')
})
//app.js
var usersRouter = require('./routes/users');
app.use('/users', usersRouter);
建立数据库连接
新建一个db目录,在db目录中新建DBConfig.js
//DBConfig.js
module.exports = {
mysql: {
host: '127.0.0.1',
user: '',
password: '',
database: '',
port: 3306
}
};
安装mysql依赖,npm install mysql,再回到users.js
var mysql = require('mysql')
var dbConfig = require('../db/DBConfig')
var pool = mysql.createPool(dbConfig.mysql)
//一个测试的接口如下
router.get('/', function (req, res, next) {
let getAll = "SELECT * FROM egg where e_id=" + req.body.e_id
pool.getConnection((err, connection) => {
connection.query(getAll, (err, result) => {
if (result) {
res.json(result)
}
})
})
// res.send('hello world');
});CURD语句
//查
let sql= "SELECT * FROM egg where e_id=" + req.body.e_id
//增
let sql = 'insert into egg(e_id,e_name) values(?,?) '
pool.getConnection((err, con) => {
con.query(sql, [11, req.body.f_account], (err, result) => {
})
})
//改 -- 查询的时候,中文需转码一下
let sql = "update egg set e_id='" + req.body.id + "'where e_id=" + req.body.e_id
pool.getConnection((err, con) => {
con.query(sql, [11], (err, result) => {
})
})
//删
let sql = "delete from egg where e_id=" + req.body.e_id
京公网安备 11010502036488号