1、等于条件
代码语言:java复制andEqualTo(String property, Object value):设置属性等于指定值的条件。 andNotEqualTo(String property, Object value):设置属性不等于指定值的条件。
Example example = new Example(User.class);
example.createCriteria().andEqualTo("age", 25);
2、大于、小于条件
andGreaterThan(String property, Object value):设置属性大于指定值的条件。
andGreaterThanOrEqualTo(String property, Object value):设置属性大于等于指定值的条件。
andLessThan(String property, Object value):设置属性小于指定值的条件。
代码语言:java复制andLessThanOrEqualTo(String property, Object value):设置属性小于等于指定值的条件。
Example example = new Example(User.class);
example.createCriteria().andGreaterThan("age", 25)
.andLessThan("salary", 50000);
3、区间条件
andBetween(String property, Object value1, Object value2):设置属性在指定区间内的条件。
代码语言:java复制andNotBetween(String property, Object value1, Object value2):设置属性不在指定区间内的条件。
Example example = new Example(User.class);
example.createCriteria().andBetween("age", 20, 30)
.andNotBetween("salary", 10000, 30000);
4、包含、不包含条件
andIn(String property, Iterable<?> values):设置属性在给定集合中的条件。
代码语言:java复制andNotIn(String property, Iterable<?> values):设置属性不在给定集合中的条件。
Example example = new Example(User.class);
example.createCriteria().andIn("department", Arrays.asList("IT", "Finance"))
.andNotIn("role", Arrays.asList("Admin", "Manager"));
5、为空、不为空条件
andIsNull(String property):设置属性为空的条件。
代码语言:java复制andIsNotNull(String property):设置属性不为空的条件。
Example example = new Example(User.class);
example.createCriteria().andIsNull("email")
.andIsNotNull("phone");
6、模糊匹配条件
andLike(String property, String value):设置属性模糊匹配指定值的条件。
代码语言:java复制andNotLike(String property, String value):设置属性不模糊匹配指定值的条件。
Example example = new Example(User.class);
example.createCriteria().andLike("name", "Joh%")
.andNotLike("address", "%Apartment%");
7、自定义条件
代码语言:java复制andCondition(String condition):根据自定义的条件表达式添加条件。
Example example = new Example(User.class);
example.createCriteria().andCondition("age > 20 and salary < 60000");
8、逻辑运算符条件
and():使用 AND 连接当前条件。
代码语言:java复制or():使用 OR 连接当前条件。
Example example = new Example(User.class);
example.createCriteria()
.andGreaterThan("age", 20)
.andLessThan("salary", 60000)
.or()
.andEqualTo("name", "Alice");
9、多条件组合
代码语言:java复制createCriteria():创建一个条件对象,可以在该对象上设置多个条件并进行组合。
Example example = new Example(User.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("department", "HR");
criteria.andGreaterThan("age", 30);
criteria.andLessThan("salary", 80000);
10、去重查询
代码语言:java复制setDistinct(boolean distinct):设置是否进行去重查询。
Example example = new Example(User.class);
example.setDistinct(true);
11、设置排序规则
代码语言:java复制setOrderByClause(String orderByClause):设置排序规则。
Example example = new Example(User.class);
example.setOrderByClause("age DESC, salary ASC");
12、选择要查询的字段
代码语言:java复制selectProperties(String… properties):设置要查询的字段。
Example example = new Example(User.class);
example.selectProperties("name", "age", "email");