MyBatisPlus条件构造器
2020-02-01 08:34
2386 查看
1.条件构造器简单使用
使用场景:通常使用在查询的时候
1.通过mybatisplus提供的方法进行查询(单表查询)
//分页查询十条数据 accountTenantMapper.selectPage(new Page<>(0,10), new QueryWrapper<>());
mybatisplus几乎提供了关于单表操作该有的所有方法,比如单表的查询一条,全部,分页都有现成的方法,只需要创建一个条件构造器new QueryWrapper(),然后通过对象调用各种条件方法,得到查询条件。
2.对应多表查询
//添加一个连表查询的方法,第一个参数传一个Page可以实现查询结果自动分页,多个参数要添加@Param注解,传入Wrapper对象使我们的方法也可以用条件构造器 IPage<AccountTenantCancel> tenantCancelQueryPage(Page page, @Param(Constants.WRAPPER) Wrapper wrapper);
//xml文件内写sql,最后加上${ew.customSqlSegment}使条件构造器生效 <select id="tenantCancelQueryPage" resultMap="BaseResultMap"> select tenant.auth_tenant_id,tenant.auth_tenant_name,tenant.building_num,tenant.tenant_num, cancel.data_add_time,cancel.data_cancel_time,cancel.data_is_cutting_off_power from account_tenant_cancel cancel LEFT JOIN account_tenant tenant ON cancel.relation_tenant_id = tenant.auth_tenant_id ${ew.customSqlSegment} </select>
要点:
1.第一个参数传入Page则代表对于查询结果进行分页,也必须在第一个参数。
2.同时,对于多个参数的情况,必须加上@param(“映射名”),然后才可以在xml文件中获取到参数对应的映射名称。
3.对于传入了Wrapper对象的方法,对于我们自己写的查询语句使用条件构造器,比如eq()、like()等mysql关键字的条件,条件默认通过and,也可以调用or()使条件用or隔开。
2.分页插件的的使用
关于分页插件的使用
//分页插件配置 @Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false // paginationInterceptor.setOverflow(false); // 设置最大单页限制数量,默认 500 条,-1 不受限制 // paginationInterceptor.setLimit(500); return paginationInterceptor; }
如果使用mybatisPlus,那么你只需要把这个Bean配置到SpringBoot的启动类或者加了@Configuration配置类中,那么只要对于上述的查询结果则会自动进行分页,注意如果没配置该Bean分页不会生效。
//mybatisPlus提供的默认的单表分页查询的方法,第一个参数传入传入一个page,创建page的时候传入当前页码和每页条数。后面是条件构造器去构建查询条件 IPage<AccountTenant> accountTenantIPage = accountTenantMapper.selectPage( new Page<AccountTenant>(query.getPageNo(), query.getPageSize()), new QueryWrapper<AccountTenant>() .eq(query.getBuildingNum()!=null&&query.getBuildingNum()!="","building_num",query.getBuildingNum()) .eq(query.getTenantNum()!=null&& query.getTenantNum()!="","tenant_num",query.getTenantNum()) .eq(query.getAuthTenantName()!=null&&query.getAuthTenantName()!="","auth_tenant_name",query.getAuthTenantName())); List<AccountTenant> records = accountTenantIPage.getRecords();
总结:关于myBatisPlus的功能还有很多,比如代码生成器等,如果需要可以去官网查看,全中文的介绍,最后用mybatisPlus的开场语来结束这篇随笔。
对Mybatis只做增强不做修改,如丝般顺滑。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper
- MyBatis-Plus简单使用——条件构造器(5)
- springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper
- Mybatis-plus 3.0条件构造器的使用
- Mybatis——plus 条件构造器(EntityWrapper)
- MyBatisPlus之模糊查询加分页和条件构造器
- mybatis-plus Wrapper 条件构造器
- MybatisPlus之一:分页加条件查询
- mybatis-plus 判断参数是否为空并作为条件搜索
- Mybatis plus sql 拼接 condition 执行条件 问题
- mybatis String的if条件判断问题 There is no getter for property named 'xxx' in 'class Java.lang.Integer'
- myBatis中查询条件的拼接
- MyBatis基本查询、条件查询、查询排序
- MyBatis:复合条件查询——对象封装成Map类型
- springboot整合mybatis-plus实现分页
- mybatis-plus自动生成代码到相应的model
- MyBatis-Plus简单使用——逻辑删除 (9)
- Mybatis实战教程之三多条件与单条件查询之分
- tp数据库与模型——查询条件生成方法、查询构造器实现CRUD操作
- 关于mybatis中基本类型条件判断问题