mybatis Example常用方法
查询时不需要写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常用方法相关推荐
- mybatis常用方法总结
mybatis的强大特性之一就是动态SQL.我们在写复杂查询的时候,会发现复杂查询包括了各种各样的判断,我们很难一鼓作气的写出完美的查询.动态SQL语句可以帮助我们拼接不同的SQL语句,而已让我们的代 ...
- MyBatis foreach 标签常用方法总结
一.前言 在 MyBatis 中,常常会遇到集合类型的参数,虽然我们可以通过 OGNL 表达式来访问集合的某一个元素,但是 OGNL 表达式无法遍历集合.foreach 标签就是专门用来解决这类问 ...
- MyBatis框架概述
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设 ...
- MyBatis 为什么需要通用 Mapper ?
一.通用 Mapper 的用途 ? 我个人最早用 MyBatis 时,先是完全手写,然后用上了 MyBatis 代码生成器(简称为 MBG),在使用 MBG 过程中,发现一个很麻烦的问题,如果数据库字 ...
- 扔掉工具类,Mybatis一个简单配置搞定数据加密解密!
今日推荐 推荐 20 款 IDEA 主题!开源困境:Log4j2 维护者发声:没有工资,还要挨骂!!RedisJson 横空出世,性能碾压ES和Mongo!还在发愁写API文档?推荐一款阿里腾讯都在用 ...
- mybatis 基础理解
1.主要的类 1.1 SqlSessionFactoryBuilder 用于创建SqlSessionFactory,要通过配置文件也可以是代码. 主要的方法 SqlSessionFactory bui ...
- Java、Mysql、MyBatis 中枚举 enum 的使用
From: https://yulaiz.com/java-mysql-enum/ Java 和 MySql 中都有枚举的概念,合理的使用枚举,可以让代码阅读和数据库数据查询更加直观.高效.那么我们怎 ...
- spring boot开发笔记——mybatis
概述 mybatis框架的优点,就不用多说了,今天这边干货主要讲mybatis的逆向工程,以及springboot的集成技巧,和分页的使用 因为在日常的开发中,当碰到特殊需求之类会手动写一下s ...
- Mybatis构建sql语法
构建sql: 之前通过注解开发时,相关 SQL 语句都是自己直接拼写的.一些关键字写起来比较麻烦.而且容易出错. MyBatis 给我们提供了 org.apache.ibatis.jdbc.SQL 功 ...
- MyBatis 为什么需要通用 Mapper ? 1
版权声明:版权归博主所有,转载请带上本文链接!联系方式:abel533@gmail.com https://blog.csdn.net/isea533/article/details/83045335 ...
最新文章
- 将您的窗口最前端显示
- python游戏编程入门电子书-请问自学 Python 有必要买课程吗?
- 8个我希望早点意识到的学生思维
- 八、Java中的i++和++i到底是什么?
- 当猪飞起来:也谈创业初期商业模式问题
- 八种排序整理(六)----堆排序
- Special Permutation CodeForces - 1352G(构造)
- pat 1085 Perfect Sequence (25) 二分查找
- C++中的STL--结构概览
- 计算机存储器发展历史,存储器及其发展历史与前景(4页)-原创力文档
- 学C语言开发能实现月薪12K吗?
- python文件中执行py文件
- 基于java的网络电子通讯录的设计_网络电子通讯录管理系统
- 关于 tp5 事务操作总结
- c语言程序基础设计题,《C语言程序设计基础》习题集(含答案)
- 微信表情图像代表什么意思_微信表情含义图解大全(微信58个表情含义图)
- Mininet系列实验(五):Mininet设置带宽之简单性能测试
- java pow实现_实现Java Math.pow(double a,double b) 方法
- unity shader实现中枪散红效果,(参考别人算法)
- SwiftUI之HStack和VStack的切换