1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| /** * 用户信息路由 * @param app * @returns {HomeController} */ const Controller = require('egg').Controller; class UserController extends Controller { async getUser() { //查询库里的user表 let params = this.ctx.query //获取路径后面的参数 console.log('用户的参数:'); console.log(params); let sql = 'select * from user' let content = [];//参数 let isMore = false;//是否有多个查询参数 /** * @模糊查询-量大的时候效率低 * select * from user where name like ? % 内容 % * 在user表中全局查找name值 == 内容的 * % 内容 % 全局查找内容 * 内容 % 查找以 内容 开头的数据 * */ if(params.name){ sql += " where name like ?"; content.push( "%"+params.name+"%" ); isMore = true; } if(params.phone){ if(isMore){//true代表有多个参数 sql += "and phone LIKE ?";//and是两个条件都必须满足,or是或的关系 }else{ sql += " WHERE phone LIKE ?"; } content.push( "%"+params.phone+"%" ) } //开启分页 if(params.page || params.pageSize){ let current = params.page;//当前页码 let pageSize = params.pageSize;//一页展示多少条数据 sql += " limit ?,?"; content.push((current-1)*pageSize,parseInt(pageSize)); } let userList= await this.app.mysql.query( sql,content ); this.ctx.body = { code:200, masg:'success', data:userList }; } } module.exports = UserController;
|