mybatis Criteria的使用

2022-06-27 10:18:41

查询名字中带有字母 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.criteria.andNameLike("%r%");   criteria.andGenderEqualTo("1");查询名字中带有字母 r ,性别为男性(1)之间是and关系

4.Criteria criteria2 = example.createCriteria();   criteria2.andEmailLike("%1%"); example.or(criteria2);查询email中带有数字1,并且已第一个criteria为基准与其进行or运算

  • 作者:Ysdo
  • 原文链接:https://blog.csdn.net/qq_42183409/article/details/89473893
    更新时间:2022-06-27 10:18:41