接收请求代码
router.get('/api/user/page', async (req, res) => {
let pageNo = req.query.pageNo;
let pageSize = req.query.pageSize;
const startIndex = (pageNo - 1) * pageSize;
const queryString = `SELECT * FROM sys_user LIMIT ${startIndex}, ${pageSize}`;
data = await query(queryString);
res.send({
status: 200,
success : true,
message: '',
data: data,
})
})
数据库代码
const mysql = require('mysql')
const pool = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: '123456',
database: 'lzwj_data',
port: 3306
})
function camelCaseKeys(obj) {
const result = {};
for (let key in obj) {
let newKey = key[0].toLowerCase() + key.slice(1).replace(/_([a-z])/g, function($0,$1){return $1.toUpperCase();});
result[newKey] = obj[key];
}
return result;
}
let query = function( sql, values ) {
// 返回一个 Promise
return new Promise(( resolve, reject ) => {
pool.getConnection(function(err, connection) {
if (err) {
reject( err )
} else {
connection.query(sql, values, ( err, rows) => {
if ( err ) {
reject( err )
} else {
rows = rows.map(item => camelCaseKeys(item));
resolve( rows )
}
// 结束会话
connection.release()
})
}
})
})
}
module.exports = query
调试: