使用 Hibernate 查询数据之 Demo(源码)
在前面一篇文章 (hibernate 入门 :10 分钟跑起这个 hibernate 示例程序 ( 图解、附源码 ) )的基础上 ,继续进行测试 .
Criteria 对 SQL 进行封装,对于不甚了解 SQL 的开发人员来说,使用 Criteria 也可以轻易的进行各种数据的检索,您也可以使用 Expression 设定查询条件,并将之加入 Criteria中对查询结果作限制, Expression.eq()表示设定符合条件的查询,例如 Expression.eq("username", “name”)表示设定查询条件为 "name"字段中为 "caterpillar"的数据。
编写新的测试用例 ,TestHibernateTwo,实现对数据的查询 ,具体代码如下 :
执行 getUsersByName(“username_0”) 结果 :
Criteria 是对象导向式的查询方式,让不了解 SQL 的开发人员也可以轻易进行各项查询,但 Hibernate 鼓励的查询方式,是透过 HQL( Hibernate Query Language)来进行,看个实例:
执行结果
透过 Query 接口,您可以先设定查询参数,之后透过 setXXX()等方法,将指定的参数值填入,而不用每次都撰写完整的 HQL, Query 的 setParameter()方法第一个参数是指定 ?出现的位置,从 0 开始,第二个参数则是设定查询条件。
这样的话 ,就可以使用两种实现方法来体验 hibernate对数据的查询功能 .