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
文章图片
/**
*用户信息路由
* @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
文章图片
2、页面输入:http://127.0.0.1:7001/getUserList?name=t
文章图片
3、页面输入:http://127.0.0.1:7001/getUserList
【node|egg(七):实现列表的模糊查询】
文章图片
推荐阅读
- 七年之痒之后
- 七老修复好敏感、角质层薄、红血丝
- 迷失的世界(二十七)
- 七律.岭南骨科康复联谊有感
- Node.js中readline模块实现终端输入
- (七)谈条件
- 七律丨游长安晚归
- 工具|后天就是七夕节,你准备好了吗(送上几个七夕代码,展示你技能的时候到了!)
- 七绝|七绝 桃花
- 写给十七年后的你