java暑期培训文件criteria用法.pdfVIP

  • 9
  • 0
  • 约2.9千字
  • 约 4页
  • 2022-08-16 发布于北京
  • 举报
Criteria:[kraɪtɪrɪə] 1.准则 2.标准,指标 3.判断标准 Restrictions:[ristrikʃən] 1.限制约束 2.局限 3.限制4.限制作用 5.条件限制 Criteria c = ses .createCriteria(User.class ); if (user.getUser_name() != null ){ c.add(Restrictions.like (user_name, user.getUser_name(),Mat ode.END )); } Criteria Query 通过面 象化的设计,将数据查询条件封装为一个对象。简单来讲,Criteria Query 可以看 作是传统 SQL 的对象化表示,如: Criteria criteria = ses .createCriteria(User.class); criteria.add(Expres .eq(name,Erica)); criteria.add(Expres .eq(sex,new eger(1))); Criteria 查询表达式 Criteria 本身只是一个查询容器,具体的查询条件需要通过 Criteria.add 方法添加到 Criteria 实例中。 如前例 所示,Expres 对象具体描述了查询条件。针对 SQL 语法,Expres 提供了对应的查询限定机制,包 括: 方法 描述 Expres .eq 对应 SQL “field = value”表达式。 如 Expres .eq(name,Erica) Expres .allEq 参数为一个 Map 对象,其中包含了多个属性-值对应关系。相当于多个 Expres .eq 关系 的叠加。 Expres .gt 对应 SQL 中的 “field value ” 表达式 Expres .ge 对应 SQL 中的 “field = value” 表达式 Expres .lt 对应 SQL 中的 “field value” 表达式 Expres .le 对应 SQL 中的 “field = value” 表达式 Expres .bet n 对应 SQL 中的 “bet n” 表达式 如下面的表达式表示 (age)位于 13 到 50 区间内。 Expres .bet n(age,new eger(13),new eger(50)); 表达式 Expres .in 对应 SQL 中的 ”field in …” 表达式 Expres .eqProperty 用于比较两个属性之间的值,对应 SQL 中的“field = field”。 如: Expres .eqProperty( TUser.grou , TGrou ); Expres .gtProperty 用于比较两个属性之间的值,对应 SQL 中的“field field”。 Expres .geProperty 用于比较两个属性之间的值,对应 SQL 中的“field = field”。 Expres .ltProperty 用于比较两个属性之间的值,对应 SQL 中的“field field”。 Expres .leProperty 用于比较两个属性之间的值,对应 SQL 中的“field = field”。 Expres .and and 关系组合。 如: Expres .and( Expres .eq(name,Erica), Expres .eq( sex, new eger(1) ) ); Expres .or or 关系组合。 如: Expres .or( Expres .eq(name,Erica), Expres .eq(name,Emma) ); Expres .sql 作为补充,本方法提供了原生 SQL 语法的支持。 可以通过这个方法直接通过 SQL 语句限 定查询条件。 下面的代码返回所有名称以“Erica”起始的 : Expres .sql( “lower({alias}.name) like lower(?)”, Erica%, Hibernate.STRING ); 其中的“{

文档评论(0)

1亿VIP精品文档

相关文档