node|egg(七):实现列表的模糊查询

前言:
列表数据系列增删改查的查询实现
实现步骤: 1、路由配置:

/** * 路由配置 * @param app */ module.exports = app => { const { router, controller } = app; //-------------------------------------------------- //用户信息 app.get('/getUserList', controller.new.user.getUserList); }

2、controller / new / user.js 中 写入查询方法getUserList node|egg(七):实现列表的模糊查询
文章图片

/** *用户信息路由 * @param app * @returns {HomeController} */ const Controller = require('egg').Controller; class NewsController extends Controller { async getUserList() {} }module.exports = NewsController;

3、安装配置mysql 4、模糊查询具体方法
async getUserList() { //查询库里的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.age){ if(isMore){//true代表有多个参数 sql += "and age LIKE ?"; //and是两个条件都必须满足,or是或的关系 }else{ sql += " WHERE age LIKE ?"; } content.push( "%"+params.age+"%" ) isMore = true; } if(params.address){ if(isMore){//true代表有多个参数 sql += "and address LIKE ?"; //and是两个条件都必须满足,or是或的关系 }else{ sql += " WHERE address LIKE ?"; } content.push( "%"+params.address+"%" ) 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 }; }

实现效果: 1、页面输入:http://127.0.0.1:7001/getUserList?page=1&pageSize=5
node|egg(七):实现列表的模糊查询
文章图片

2、页面输入:http://127.0.0.1:7001/getUserList?name=t
node|egg(七):实现列表的模糊查询
文章图片

3、页面输入:http://127.0.0.1:7001/getUserList
【node|egg(七):实现列表的模糊查询】 node|egg(七):实现列表的模糊查询
文章图片




    推荐阅读