初学tk.mybatis与mybatisPlus对比俩者的 动态条件查询带分页的操作难以程度。

本文不做俩个框架的教学,作者认为你已经掌握的俩框架的搭建以及基本的crud.
由于我们最近接触类俩个封装了mybatis的框架tk.mybatis与mybatisPlus,所有理所当然的将俩者对比了起来
俩个框架都帮你封装基本的增删改查,基本上sql不用写了。这一点都很好用。
当对于复杂一些的查询就有一些区别了,要是再加上分页呢?
对于这个问题可以看一下这篇文章,

这是一个使用tk.mybatis的动态条件加分页的serviceImpl

 public PageInfo getListByExampleAndPage(ExceptionRecordSearchModel searchModel){
        Integer status = searchModel.getStatus();
        Date startDate = searchModel.getStartDate();
        Date endDate = searchModel.getEndDate();
        String description = searchModel.getDescription();
        Integer pageNum = searchModel.getPageNum();
        Integer pageSize = searchModel.getPageSize();
        Weekend weekend = new Weekend(ExceptionRecord.class);
        if (status!=null){
            Example example = new Example(ExceptionRecord.class);
            Example.Criteria c1 = example.createCriteria();
            c1.andEqualTo("status", status);
            weekend.and(c1);
        }
        if (StringUtils.isNotBlank(description)){
            Example example = new Example(ExceptionRecord.class);
            Example.Criteria c2 = example.createCriteria();
            c2.andLike("description","%"+description+"%");
            weekend.and(c2);
        }
        if (startDate!=null){
            Example example = new Example(ExceptionRecord.class);
            Example.Criteria c3 = example.createCriteria();
            c3.andGreaterThanOrEqualTo("occurrenceTime", startDate);
            weekend.and(c3);
        }
        if (endDate!=null){
            Example example = new Example(ExceptionRecord.class);
            Example.Criteria c4 = example.createCriteria();
            c4.andLessThanOrEqualTo("occurrenceTime", endDate);
            weekend.and(c4);
        }
        PageHelper.startPage(pageNum,pageSize);
        List<ExceptionRecord> exceptionRecords = exceptionRecordMapper.selectByExample(weekend);
        PageInfo<ExceptionRecord> page = new PageInfo<>(exceptionRecords);
        return  page;
    }

mybatisPlus的动态条件加分页的serviceImpl

public IPage getListByModelAndPage(AtcWeatherRunway atcWeatherRunway ,Page page){
     String areaCode = atcWeatherRunway.getAreaCode();
     Date createTime = atcWeatherRunway.getCreateTime();
     QueryWrapper<AtcWeatherRunway> queryWrapper = new QueryWrapper<>();
     queryWrapper.lambda()
             .eq(StringUtils.isNotBlank(areaCode),AtcWeatherRunway::getAreaCode,areaCode)
             .gt(createTime!=null,AtcWeatherRunway::getCreateTime,createTime)
             .orderByDesc(AtcWeatherRunway::getBl1a);
     IPage iPage = atcWeatherRunwayMapper.selectPage(page, queryWrapper);
     return iPage;
 }

很显然mybatisPlus 对于这种复杂处理封装的更多,更加方便!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值