目录
  • mybatis Example的Criteria用法or与isNull
    • 1.or
    • 2.isNull
  • mybatis Criteria的使用

    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);
    

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

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。