Page<TCheckitem> page = new Page<>(queryPageBean.getCurrentPage(), queryPageBean.getPageSize()); QueryWrapper<TCheckitem> qw = new QueryWrapper<>(); if (queryPageBean.getQueryString() != null && queryPageBean.getQueryString().trim().length() > 0) { qw.eq("name","%" + queryPageBean.getQueryString() + "%") .or() .like("code", "%" + queryPageBean.getQueryString() + "%"); } Page<TCheckitem> page1 = tCheckitemMapper.selectPage(page, qw); return new PageResult(page1.getTotal(),page1.getRecords());怎么改成模糊查询
时间: 2024-04-26 22:26:55 浏览: 68
可以将`eq`方法改为`like`方法,同时去掉百分号的单引号,修改后的代码如下:
```
Page<TCheckitem> page = new Page<>(queryPageBean.getCurrentPage(), queryPageBean.getPageSize());
QueryWrapper<TCheckitem> qw = new QueryWrapper<>();
if (queryPageBean.getQueryString() != null && queryPageBean.getQueryString().trim().length() > 0) {
qw.like("name","%" + queryPageBean.getQueryString() + "%")
.or()
.like("code", "%" + queryPageBean.getQueryString() + "%");
}
Page<TCheckitem> page1 = tCheckitemMapper.selectPage(page, qw);
return new PageResult(page1.getTotal(),page1.getRecords());
```
这样就可以实现模糊查询了。
相关问题
Page<TSetmeal> page = new Page<>(queryPageBean.getCurrentPage(), queryPageBean.getPageSize()); QueryWrapper<TSetmeal> qw = new QueryWrapper<>(); if (queryPageBean.getQueryString() != null && queryPageBean.getQueryString().trim().length() > 0) { qw.eq("name",queryPageBean.getQueryString()) .or() .like("code", queryPageBean.getQueryString()); } Page<TSetmeal> page1 = tSetmealMapper.selectPage(page,qw); return new PageResult(page1.getTotal(),page1.getRecords());
这段代码是一个分页查询的实现,分为以下几个步骤:
1. 创建一个Page对象,用来表示分页信息,包括当前页码和每页显示的记录数。
```
Page<TSetmeal> page = new Page<>(queryPageBean.getCurrentPage(), queryPageBean.getPageSize());
```
2. 创建一个QueryWrapper对象,用来设置查询条件。这里判断了查询关键字是否为空,如果不为空,则设置查询条件为匹配名称name或者模糊匹配编码code。
```
QueryWrapper<TSetmeal> qw = new QueryWrapper<>();
if (queryPageBean.getQueryString() != null && queryPageBean.getQueryString().trim().length() > 0) {
qw.eq("name",queryPageBean.getQueryString())
.or()
.like("code", queryPageBean.getQueryString());
}
```
3. 调用tSetmealMapper的selectPage方法进行分页查询,传入page对象和QueryWrapper对象。
```
Page<TSetmeal> page1 = tSetmealMapper.selectPage(page,qw);
```
4. 将查询结果封装成一个PageResult对象,包括总记录数和查询结果集。
```
return new PageResult(page1.getTotal(),page1.getRecords());
```
总的来说,这段代码实现了根据查询关键字分页查询套餐信息的功能。
@PostMapping("/stu/selQuery") public R selList(@RequestBody StuVo stuVo){ Page<Student> p = new Page<>(stuVo.getCurrentPage(), stuVo.getPageSize()); QueryWrapper queryWrapper =new QueryWrapper(); if (stuVo.getId() != null){ queryWrapper.eq("id", stuVo.getId()); } if (stuVo.getName() !=null&&!"".equals(stuVo.getName())){ queryWrapper.like("name", stuVo.getName()); } Page<Student> studentPage = studentMapper.selectPage(p, queryWrapper); return R.succ(studentPage.getRecords(), p.getTotal()); }
这段代码是一个使用Spring Boot框架编写的接口方法。该方法使用了`@PostMapping`注解,表示该接口支持HTTP的POST请求。接口路径为`/stu/selQuery`。
该方法接收一个`StuVo`类型的参数,通过`@RequestBody`注解将请求体中的JSON数据转换为`StuVo`对象。
接下来,该方法创建了一个`Page`对象`p`,并传入当前页码和每页显示数量作为参数。
接着,创建了一个`QueryWrapper`对象`queryWrapper`,用于构建数据库查询条件。根据`stuVo`中的属性值判断是否需要添加查询条件。如果`stuVo.getId()`不为null,则在查询条件中添加等于条件:`queryWrapper.eq("id", stuVo.getId())`。如果`stuVo.getName()`不为null且不为空字符串,则在查询条件中添加模糊匹配条件:`queryWrapper.like("name", stuVo.getName())`。
然后,调用`studentMapper.selectPage(p, queryWrapper)`方法执行数据库查询,将查询结果封装到`Page<Student>`对象`studentPage`中。
最后,返回一个包含查询结果和总记录数的`R`对象。其中,查询结果通过`studentPage.getRecords()`获取,总记录数通过`p.getTotal()`获取。
阅读全文