Example类的使用
Example类的成员:
1.升序还是降序:字段+空格+asc(desc)
protected String orderByClause;
2.去除重复:true是选择不重复记录,false,反之
protected boolean distinct;
3.自定义查询条件
protected List<Criteria> oredCriteria;
例子:
@Test
public void testFindUserByName(){
SysUserExample example = new SysUserExample();
example.setOrderByClause("create_time asc");
example.setDistinct(false); //去除重复,true是选择不重复记录,false反之
example.Criteria criteria = example.createCriteria(); //构造自定义查询条件
criteria.andUsernameEqualTo("张三");
//自定义查询条件可能返回多条记录,使用List接收
List<User> users = userMapper.selectByExample(example);
System.out.println(users);
}
结果:
测试结果(数据库中有两个username为张三):
DEBUG [main] - ==> Preparing: select id, username, birthday, sex, address from user WHERE ( username = ? ) order by username asc
DEBUG [main] - ==> Parameters: 张三(String)
DEBUG [main] - <== Total: 2
DEBUG [main] - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17db9ab7]
DEBUG [main] - Returning JDBC Connection to DataSource
OR
.or()后面想要使用的方法可以自己去Example类中查看 然后以example.or().andUserNameLike(参数);的方式写就可以了,在把example传进去就可以了,userService.listByExample(example);
SysUserExample example = new SysUserExample();
example.or().andUserNameLike(userListParams.getUserName());
//
userService.listByExample(example);