赞
踩
/** * 生成分页查询sql * @param {string} table 表名 * @param {number} pageNum 分页页数 * @param {number} pageSize 分页条数 * @param {object} query 查询对象 例:{id:1,name:'小明'} * @returns sql语句 */ const limit = (table, pageNum, pageSize, query) => { let sql = `WHERE ` let keyList = Object.keys(query) // 提取查询对象中的key为数组 //查询对象全为空则结束函数 if (!keyList.some(e => query[e])) { //如果查询对象中得value都为空的话查询条件为空 sql = '' } else { //生成SQL语句 keyList.forEach((e, index) => { //判断下一个分页条件是否为空,如果不为空则拼接AND let context = query[keyList[index + 1]] ? ' AND ' : '' //value不为空时,拼接筛选条件 if (query[e]) { sql += `${e} like '%${query[e]}%'${context} ` //拼接sql } }) } return `SELECT * FROM ${table} ${sql}LIMIT ${(pageNum - 1) * 10},${pageSize}` } module.exports = limit
let {
pageSize, // 条数
pageNum, // 页数
sb_Name // 穿过来的对象
} = req.query //req:请求对象 query:get请求携带对象
const selectData = {
sb_Name // 需要筛选的对象
}
let sqlString = limit('tableName', pageNum, pageSize, selectData)
// sqlString = SELECT * FROM u8_table LIMIT 0,10 sqlString
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。