Criteria类

Criteria类来构建查询条件,常用的方法有:

1eq方法:等于某个值的条件,

例如:
Criteria.where("name").eq("John")


2 ne方法:不等于某个值的条件

例如:
Criteria.where("age").ne(18)


3 gt方法:大于某个值的条件

例如:
Criteria.where("score").gt(90)


4 gte方法:大于等于某个值的条件

例如:
Criteria.where("score").gte(90)


5 lt方法:小于某个值的条件

例如:
Criteria.where("score").lt(60)


6 lte方法:小于等于某个值的条件

例如:
Criteria.where("score").lte(60)


7 in方法:包含某些值的条件

例如:
Criteria.where("name").in("John", "Mike", "Tom")


8 nin方法:不包含某些值的条件

例如:
Criteria.where("name").nin("John", "Mike", "Tom")


9 and方法:多条件and查询

例如:
Criteria.where("age").gt(18).and("name").in("John", "Mike")


10 or方法:多条件or查询,

例如:
Criteria.where("age").gt(18).orOperator(Criteria.where("name").is("John"), Criteria.where("name").is("Mike"))

11 区间查询
        Criteria   criteriaInfo =
                Criteria.where("Time").gte(search.getStartTime()).lte(search.getEndTime());

12 andOperator(Criteria... criteria)orOperator(Criteria... criteria) 方法:这些方法允许您组合多个条件,以使用“和”或“或”逻辑将它们连接起来。

13 is(String key) 方法:用于指定要匹配的字段名。

14 is(Object value) 方法:用于指定要匹配的值。

15 regex(String regex) 方法:用于指定一个正则表达式,可以用于模糊匹配或模式匹配。

16 exists(boolean exists) 方法:用于指定一个字段是否存在于文档中。

17 not() 方法:用于指定要否定的条件。

18 lt(Object value)lte(Object value)gt(Object value)gte(Object value) 方法:用于指定小于、小于或等于、大于、大于或等于某个值的条件。

19 mod(long divisor, long remainder)allElementsMatch(Criteria criteria) 方法:用于指定模数条件和所有元素匹配条件。

20 where(String key) 方法:指定要匹配的字段名。

21 elemMatch(Criteria criteria) 方法:指定数组中至少一个元素满足给定的条件。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Criteria Java Persistence API (JPA) 中的一个,用于创建和执行动态查询。提供了一种型安全的方法来构建查询,而不需要编写原生的 SQL 查询语句。 Criteria 允许开发人员通过面向对象的方式来构建查询,而不是直接使用字符串拼接 SQL 查询语句。通过使用 Criteria ,可以更方便地构建复杂的查询条件,并且能够在编译时进行型检查,减少了运行时错误的可能性。 Criteria 查询使用了一种似于构建器模式的方式,通过链式调用方法来设置查询条件。可以设置查询的过滤条件、排序规则、分页等。最后,通过调用相应的方法执行查询并获取结果。 以下是一个简单示例,演示如何使用 Criteria 进行查询: ```java CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); CriteriaQuery<User> criteriaQuery = criteriaBuilder.createQuery(User.class); Root<User> root = criteriaQuery.from(User.class); criteriaQuery.select(root) .where(criteriaBuilder.equal(root.get("age"), 18)) .orderBy(criteriaBuilder.asc(root.get("name"))); List<User> users = entityManager.createQuery(criteriaQuery).getResultList(); ``` 在上面的示例中,我们使用 CriteriaBuilder 创建了一个 CriteriaQuery 对象,指定了实体 User 作为查询的返回型。然后,我们通过调用 `criteriaQuery.select()` 方法设置要查询的字段,并使用 `criteriaBuilder.equal()` 方法设置了一个过滤条件,即 age 字段等于 18。最后,使用 `criteriaBuilder.asc()` 方法设置了一个排序规则,按照 name 字段升序排序。 最后,我们通过调用 `entityManager.createQuery(criteriaQuery).getResultList()` 执行查询,并获取查询结果。 这只是 Criteria 的基本用法,它还提供了更多的方法和功能,可以根据具体的需求进行灵活的查询操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值