查询名字中带有字母 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运算