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

 




相关推荐

SpringBlade对SpringCloud做了封装。 SpringBlade ├── blade-auth --

一、主要特性 1、采用前后端分离的模式,前端开源两个框架Sword(基于React、Ant Design)、Saber(基于Vue、Element-UI)。 2、

/** * 统一API响应结果封装 * * @author Chill */ @Getter @Setter @ToStrin

1、建表 2、创建实体类 @Data @TableName("blade_blog") public

@RestController @RequestMapping("api") public class DemoController

1、需要数据隔离的业务表,新建一个字段,tenant_id。 2、实体类无需将这个字段写入,因为框架底层会自动对tenant_id进行处理。 3、在对应的applic

简介 权限模块从大的方面来说,可以分为三种大的类型:功能权限、接口权限、数据权限。 1、功能权限 也就是我们熟悉的菜单、按钮权限。可以配置各个角色能

1、密码模式 密码模式主要针对可信应用。 /blade-auth/oauth/token <code