Demo目录
query ./dbconfig.js
const mysql = require('mysql')
const dbconfig = require('./dbconfig')
const pool = mysql.createPool(dbconfig);
function query(sql,params) {
return new Promise((resolve, reject) => {
pool.getConnection((err, conn) => {
if (err) {
reject(err)
return
}
conn.query(sql, params, (err, result) => {
conn.release()
if (err) {
throw err
}
resolve(result)
})
});
});
}
module.exports=query
query配置 ./router/index.js
let dbconfig
dbconfig={
connectionLimit: 10,
host: "localhost",
user: 'root',
password: '123456',
port: '3306',
database: 'test'
}
module.exports=dbconfig
接口方法实现 ./controller/user.js
const query = require('../index.js')
module.exports = {
async getUserList(urlParams) {
let { name, city, sex } = urlParams
let sql = 'select *from user where 1=1 '
if (name) {
sql += 'and name = ?'
}
if (city) {
sql += 'and city = ?'
}
if (sex) {
sql += 'and sex = ?'
}
console.log(sql)
let resultData = await query(sql, [name, city, sex])
return resultData
},
async addUser(userObj) {
let { name, city, sex } = userObj
let sql = 'insert into user (name,city,sex) values (?,?,?)'
let resultData = await query(sql, [name, city, sex])
console.log(resultData, 'user.js')
if (resultData) {
return {
msg: "添加成功"
}
} else {
return {
msg: "添加失败"
}
}
},
async deleteUser(id) {
let sql = 'delete from user where id =?'
let resultData = await query(sql, [id])
if (resultData.affectedRows > 0) {
return {
msg: '更新成功'
}
} else {
return {
msg: '更新失败'
}
}
},
async updateUser(id, userObj) {
let { name, city, sex } = userObj
let sql = 'update user set name = ?,city = ?,sex = ? where id = ?'
let resultData = await query(sql, [name, city, sex, id])
if (resultData.affectedRows > 0) {
return {
msg: '更新成功'
}
} else {
return {
msg: '更新失败'
}
}
}
}
服务端 ./server.js
const url = require('url')
const http = require('http')
const routerModal = require('./router/index.js')
const getPostData = (req) => {
return new Promise((resolve, reject) => {
if (req.method !== 'POST') {
resolve({})
return
}
let postData = ''
req.on('data', chunk => {
postData += chunk;
})
req.on('end', () => {
console.log(postData)
resolve(JSON.parse(postData))
})
});
}
const server = http.createServer((req, res) => {
res.setHeader("Access-Control-Allow-Origin","http://127.0.0.1:5501");
res.writeHead(200, { 'content-type': 'application/json;charset=UTF-8' })
getPostData(req).then((data) => {
req.body = data
let result = routerModal(req, res);
if (result) {
result.then(resultData =>{
res.end(JSON.stringify(resultData))
})
} else {
res.writeHead(404, { 'content-type': 'text/html' })
res.end('404 not found')
}
})
})
server.listen(3000, () => {
console.log('监听3000端口')
})