mybatis Example的Criteria用法:or与isNull详解

 更新时间:2021年12月23日 14:26:08   作者:杨杨1234  
这篇文章主要介绍了mybatis Example的Criteria用法:or与isNull详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mybatis Example的Criteria用法or与isNull

1.or

BaUserExample baUserExample = new BaUserExample();
Criteria criteria1 = baUserExample.createCriteria();
criteria1.andOrgIdEqualTo(“1”);
criteria1.andDeptIdEqualTo(“1”);
Criteria criteria2 = baUserExample.createCriteria();
criteria2.andUserNameEqualTo(“name”);
criteria2.andEmailLike("%test@%");
baUserExample.or(criteria2);
userMapper.countByExample(baUserExample);

2.isNull

为空要用isNull() 不要用equalTo(null) ,否则会报错。

mybatis Criteria的使用

查询名字中带有字母 r ,性别为男性(1)或者email中带有数字1的人员信息

@Test
 public void test1() throws IOException {
  SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
  SqlSession openSession = sqlSessionFactory.openSession(true);
  try {
   EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
//   List<Employee> selectAll = mapper.selectByExample(null);
   EmployeeExample example = new  EmployeeExample();
   Criteria criteria = example.createCriteria();
   criteria.andNameLike("%r%");
   criteria.andGenderEqualTo("1");
   Criteria criteria2 = example.createCriteria();
   criteria2.andEmailLike("%1%");
   example.or(criteria2);
   List<Employee> select = mapper.selectByExample(example);
   for(Employee employee :select) {
   System.out.println(employee.getName()+employee.getEmail());
   }
  }finally {
   openSession.close();
  }
 }

1.先实例化一个EmployeeExample对象

2.调用createCriteria()方法

3.查询名字中带有字母 r ,性别为男性(1)之间是and关系

criteria.andNameLike("%r%");   
criteria.andGenderEqualTo("1");

4.查询email中带有数字1,并且已第一个criteria为基准与其进行or运算

Criteria criteria2 = example.createCriteria();   
criteria2.andEmailLike("%1%"); 
example.or(criteria2);

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JavaCV实现获取视频每帧并保存

    JavaCV实现获取视频每帧并保存

    这篇文章主要为大家详细介绍了JavaCV实现获取视频每帧并保存,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Java用单向环形链表来解决约瑟夫环Josepfu问题

    Java用单向环形链表来解决约瑟夫环Josepfu问题

    如果把单链表的最后一个节点的指针指向链表头部,而不是指向NULL,那么就构成了一个单向循环链表,通俗讲就是把尾节点的下一跳指向头结点
    2021-10-10
  • JAVA实现心跳检测(长连接)

    JAVA实现心跳检测(长连接)

    本文主要介绍了JAVA实现心跳检测(长连接),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Spring Cloud Zipkin服务端追踪服务

    Spring Cloud Zipkin服务端追踪服务

    这篇文章主要介绍了Spring Cloud Zipkin服务端追踪服务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java filter中的chain.doFilter使用详解

    Java filter中的chain.doFilter使用详解

    这篇文章主要介绍了Java filter中的chain.doFilter使用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • springboot报错Invalid bound statement (not found)的解决

    springboot报错Invalid bound statement (not found)的解决

    本文主要介绍了springboot报错Invalid bound statement (not found)的解决,遇到这种问题通常是没有配置好配置文件,下面就来具体介绍一下解决方法,感兴趣的可以了解一下
    2025-03-03
  • vue 实现删除对象的元素 delete

    vue 实现删除对象的元素 delete

    这篇文章主要介绍了vue 实现删除对象的元素delete,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • java并发编程专题(九)----(JUC)浅析CyclicBarrier

    java并发编程专题(九)----(JUC)浅析CyclicBarrier

    这篇文章主要介绍了java CyclicBarrier的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • SpringCloud Feign高级配置详解

    SpringCloud Feign高级配置详解

    这篇文章主要介绍了SpringCloud Feign高级配置,feign是netflix提供的服务间基于http的rpc调用框架,在spring cloud得到广泛应用
    2022-09-09
  • RestClient 通过拦截器实现请求加密的示例

    RestClient 通过拦截器实现请求加密的示例

    本文介绍了如何通过拦截器实现请求加密,并通过RestClient优化了加密过程,传统的加密方法依赖对象转换和序列化处理,容易导致加密不一致或难以调试的问题,通过引入拦截器,可以直接操作请求体,避免了不必要的转换步骤,确保加密过程与请求体完全一致,感兴趣的朋友一起看看吧
    2025-02-02

最新评论