查询时不需要写sql,直接把查询条件封装于Example

一,常用方法

1,等于  andEqualTo()

2,排序 example.setOrderByClause()

3,多个值 in(0,1) andIn()

4,大于等于,小于等于 日期查询 andGreaterThenAndEqualTo()

5,模糊查询 andLike()

二,代码实现

  Example example = new Example(ApplyEntity.class);example.setOrderByClause("update_time desc ");Criteria criteria = example.createCriteria();criteria.andEqualTo("isDel", IsDelE.YES.getValue());if(StringUtils.isNotEmpty(applyVO.getCompany())){criteria.andLike("company","%"+applyVO.getCompany()+"%");}if(StringUtils.isNotEmpty(applyVO.getParentCompanyName())){criteria.andLike("parentCompanyName","%"+applyVO.getParentCompanyName()+"%");}if(null != applyVO.getIsLook()){criteria.andEqualTo("isLook",applyVO.getIsLook());}if(applyVO.getOrgId() != null ){criteria.andEqualTo("orgId", applyVO.getOrgId());}if(applyVO.getBrandId() != null ){criteria.andEqualTo("brandId", applyVO.getBrandId());}if(applyVO.getVehicleTypeId() != null ){criteria.andEqualTo("vehicleTypeId", applyVO.getVehicleTypeId());}if(statusFlag){if(applyVO.getStatus() != null ){if(!(applyVO.getStatus().equals(ApplyStatusE.PASSAPPLY.getValue()) || applyVO.getStatus().equals(ApplyStatusE.NOTPASSAPPLY.getValue()))) {return ResultUtil.error(RespCode.CHECK_APPLY_PASS_STATUS_ERROR, RespMsg.CHECK_APPLY_PASS_STATUS_ERROR_MSG);}criteria.andEqualTo("status", applyVO.getStatus());} else {// 默认2.3List<Integer> status = new ArrayList<>();status.add(2);status.add(3);criteria.andIn("status", status);
//          criteria.andEqualTo("status", applyVO.getStatus());}} else {if(applyVO.getStatus() != null ){criteria.andEqualTo("status", applyVO.getStatus());}}if(applyVO.getIsPrint() != null){criteria.andEqualTo("isPrint", applyVO.getIsPrint());}if(StringUtils.isNotEmpty(applyVO.getName())){criteria.andLike("name","%"+applyVO.getName()+"%");}if(StringUtils.isNotEmpty(applyVO.getIdentity())){criteria.andLike("identity","%"+applyVO.getIdentity()+"%");}if(applyVO.getCreateTimeStart() != null ){criteria.andGreaterThanOrEqualTo("createTime",  applyVO.getCreateTimeStart() );}if(applyVO.getCreateTimeEnd() != null ){criteria.andLessThanOrEqualTo("createTime",  applyVO.getCreateTimeEnd());}PageHelper.startPage(applyVO.getPageNum(), applyVO.getPageRows());if(comPanyFlag){if( obj instanceof  CompanyEntity){CompanyEntity entity = (CompanyEntity) obj;if(!(entity.getCompanyLevel().equals(LevelStatusE.LEVELTWO.getValue().toString()) || entity.getCompanyLevel().equals(LevelStatusE.LEVELONE.getValue().toString()))) {// 根据申购企业查询criteria.andEqualTo("companyId", entity.getId());return pageResponse(example);}// 二级企业criteria.andEqualTo("parentCompanyId", entity.getId());}}return pageResponse(example);}

mybatis Example常用方法相关推荐

  1. mybatis常用方法总结

    mybatis的强大特性之一就是动态SQL.我们在写复杂查询的时候,会发现复杂查询包括了各种各样的判断,我们很难一鼓作气的写出完美的查询.动态SQL语句可以帮助我们拼接不同的SQL语句,而已让我们的代 ...

  2. MyBatis foreach 标签常用方法总结

    一.前言   在 MyBatis 中,常常会遇到集合类型的参数,虽然我们可以通过 OGNL 表达式来访问集合的某一个元素,但是 OGNL 表达式无法遍历集合.foreach 标签就是专门用来解决这类问 ...

  3. MyBatis框架概述

    MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设 ...

  4. MyBatis 为什么需要通用 Mapper ?

    一.通用 Mapper 的用途 ? 我个人最早用 MyBatis 时,先是完全手写,然后用上了 MyBatis 代码生成器(简称为 MBG),在使用 MBG 过程中,发现一个很麻烦的问题,如果数据库字 ...

  5. 扔掉工具类,Mybatis一个简单配置搞定数据加密解密!

    今日推荐 推荐 20 款 IDEA 主题!开源困境:Log4j2 维护者发声:没有工资,还要挨骂!!RedisJson 横空出世,性能碾压ES和Mongo!还在发愁写API文档?推荐一款阿里腾讯都在用 ...

  6. mybatis 基础理解

    1.主要的类 1.1 SqlSessionFactoryBuilder 用于创建SqlSessionFactory,要通过配置文件也可以是代码. 主要的方法 SqlSessionFactory bui ...

  7. Java、Mysql、MyBatis 中枚举 enum 的使用

    From: https://yulaiz.com/java-mysql-enum/ Java 和 MySql 中都有枚举的概念,合理的使用枚举,可以让代码阅读和数据库数据查询更加直观.高效.那么我们怎 ...

  8. spring boot开发笔记——mybatis

    概述   mybatis框架的优点,就不用多说了,今天这边干货主要讲mybatis的逆向工程,以及springboot的集成技巧,和分页的使用   因为在日常的开发中,当碰到特殊需求之类会手动写一下s ...

  9. Mybatis构建sql语法

    构建sql: 之前通过注解开发时,相关 SQL 语句都是自己直接拼写的.一些关键字写起来比较麻烦.而且容易出错. MyBatis 给我们提供了 org.apache.ibatis.jdbc.SQL 功 ...

  10. MyBatis 为什么需要通用 Mapper ? 1

    版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com https://blog.csdn.net/isea533/article/details/83045335 ...

最新文章

  1. 将您的窗口最前端显示
  2. python游戏编程入门电子书-请问自学 Python 有必要买课程吗?
  3. 8个我希望早点意识到的学生思维
  4. 八、Java中的i++和++i到底是什么?
  5. 当猪飞起来:也谈创业初期商业模式问题
  6. 八种排序整理(六)----堆排序
  7. Special Permutation CodeForces - 1352G(构造)
  8. pat 1085 Perfect Sequence (25) 二分查找
  9. C++中的STL--结构概览
  10. 计算机存储器发展历史,存储器及其发展历史与前景(4页)-原创力文档
  11. 学C语言开发能实现月薪12K吗?
  12. python文件中执行py文件
  13. 基于java的网络电子通讯录的设计_网络电子通讯录管理系统
  14. 关于 tp5 事务操作总结
  15. c语言程序基础设计题,《C语言程序设计基础》习题集(含答案)
  16. 微信表情图像代表什么意思_微信表情含义图解大全(微信58个表情含义图)
  17. Mininet系列实验(五):Mininet设置带宽之简单性能测试
  18. java pow实现_实现Java Math.pow(double a,double b) 方法
  19. unity shader实现中枪散红效果,(参考别人算法)
  20. SwiftUI之HStack和VStack的切换

热门文章

  1. 利率市场化改革 增大银行风险管理挑战
  2. linux之终端的灵活使用。SCREEN
  3. Forms 凭票验证
  4. 北航计算机组成重修,北航计算机组成原理123希望大伙把作业上传.pdf
  5. java接口测试httpclient_httpclient接口测试完整用例
  6. DPDK之PMD原理
  7. OpenGL ES 3.0学习实践
  8. 匿名页反向映射得建立
  9. Z - 犯罪嫌疑人(思维题目)
  10. mysql实例备份和单库备份_史上最简单的MySQL数据备份与还原教程(上)(三十五)...