基于mybatis-plus的多表联查,时间查询,分页查询

引用地址:https://www.bilibili.com/read/cv18069219/

框架包含mybatis,pom引入mybatis-plus就够了

mybatis-plus文档

https://baomidou.com/pages/10c804/#abstractwrapper

有两种方式,一种是框架提供的方法,另一种配合注解使用

框架提供了QueryWrapper,等条件构造器来构造查询条件

多表查询

相关sql

https://zhuanlan.zhihu.com/p/302544172

按照格式意思一下,接收查询的数据,

之后配合select注解,将sql写好,注入之后就能调用接口中自定义的查询方法,从而实现多表查询。

注解其实跟原来mybatis-xml中的配置没有区别.
时间查询


时间查询,按照时间来查询某个时间段的数据,这个可以仿照上面的多表查询去写,也可以使用条件构造器构造条件去查询,如果对条件的优先级有要求,可以使用lambda表达式,其优先级更高

QueryWrapper<Home> wrapper = new QueryWrapper<>();
query query = new query();
if (StringUtils.isNotBlank(query.getBegin())) {
    System.out.println(query.getBegin());
    wrapper.ge("writetime",query.getBegin());
}
if (StringUtils.isNotBlank(query.getEnd())) {
    wrapper.le("writetime",query.getEnd());
}

homeMapper.selectList(wrapper);

分页查询

分页应该是用的最多的,一般表单都需要分页显示。

配合前端的分页插件使用,将每页显示的固定数量,数据,页数返回

@GetMapping("/findAll/{page}/{size}")
public Page<Home> findAll(@PathVariable("page") Integer page, @PathVariable("size") Integer size){
    QueryWrapper<Home> wrapper=new QueryWrapper<>();
    wrapper.orderByDesc("writetime");
    Page<Home> page1= new Page<>(page,size);
    Page<Home> result=homeMapper.selectPage(page1,wrapper).addOrder();
    System.out.println(result);
    return result;
}


不同的操作有着不同的构造器,其实就是构造出sql,再通过框架去执行,其他操作可以查看官方文档,或者看些项目的案例。

 作者:佛系的工具人 https://www.bilibili.com/read/cv18069219/ 出处:bilibili

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值