springblade 查询
阅读数:108 评论数:0
跳转到新版页面分类
python/Java
正文
1、单条数据
/**
* 详情
*/
@GetMapping("/detail")
public R<Blog> detail(Integer id) {
Blog detail = service.getById(id);
return R.data(detail);
}
2、多条数据
/**
* 查询多条
*/
@GetMapping("/list")
public R<List<Blog>> list() {
List<Blog> list = service.list();
return R.data(list);
}
(1)增加查询条件
/**
* 查询多条
*/
@GetMapping("/list")
public R<List<Blog>> list(Blog blog) {
List<Blog> list = service.list(Wrappers.query(blog));
return R.data(list);
}
(2)模糊查询
/**
* 查询多条
*/
@GetMapping("/list")
public R<List<Blog>> list(Blog blog) {
List<Blog> list = service.list(Condition.getQueryWrapper(blog));
return R.data(list);
}
(3)QueryWrapper的lambda模式
/**
* 查询多条
*/
@GetMapping("/list")
public R<List<Blog>> list(@RequestParam Map<String, Object> blog) {
List<Blog> list = service.list(Condition.getQueryWrapper(blog, Blog.class).lambda().orderByDesc(Blog::getBlogDate));
return R.data(list);
}
更多用法参考:https://mp.baomidou.com/guide/wrapper.html
3、分页
/**
* 分页
*/
@GetMapping("/page")
public R<IPage<Blog>> page(@ApiIgnore @RequestParam Map<String, Object> blog, Query query) {
IPage<Blog> pages = service.page(Condition.getPage(query), Condition.getQueryWrapper(blog, Blog.class));
return R.data(pages);
}
来看一下Query的主要组成
@Data
@Accessors(chain = true)
@ApiModel(description = "查询条件")
public class Query {
/**
* 当前页
*/
@ApiModelProperty(value = "当前页")
private Integer current;
/**
* 每页的数量
*/
@ApiModelProperty(value = "每页的数量")
private Integer size;
/**
* 排序的字段名
*/
@ApiModelProperty(hidden = true)
private String ascs;
/**
* 排序方式
*/
@ApiModelProperty(hidden = true)
private String descs;
}
所以如果我们要查第2页,并且每页数量为2条,那么我们就传/api/page?current=2&size=2
相关推荐
1、需要数据隔离的业务表,新建一个字段,tenant_id。
2、实体类无需将这个字段写入,因为框架底层会自动对tenant_id进行处理。
3、在对应的applic