使用Hibernate查询数据ppt课件.ppt

使用Hibernate查询数据ppt课件.ppt

ID:50790294

大小:758.50 KB

页数:28页

时间:2020-03-14

使用Hibernate查询数据ppt课件.ppt_第1页
使用Hibernate查询数据ppt课件.ppt_第2页
使用Hibernate查询数据ppt课件.ppt_第3页
使用Hibernate查询数据ppt课件.ppt_第4页
使用Hibernate查询数据ppt课件.ppt_第5页
资源描述:

《使用Hibernate查询数据ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第14章使用Hibernate查询数据1目录12使用HQL查询数据使用QBC查询数据214.1使用HQL查询数据314.1使用HQL查询数据HQL(HibernateQueryLanguage)是Hibernate提供的一种面向对象的查询语言,HQL提供了更加丰富灵活的特性,提供了强大的查询能力。在Hibernate中,将HQL作为推荐的查询模式,使用类、对象和属性概念,没有表和字段的概念。HQL提供了更接近传统SQL语句的查询语法。使用传统的JDBCAPI来查询数据,需要编写复杂的SQL语句,然后还要将查询结果以对象的形式进行封装,放到集合对象中保存。这种查询方式不仅麻烦,而

2、且容易出错。HQL查询与JDBC查询相比,具体以下优点:直接针对实体类和属性进行查询,不要再编写繁琐的SQL语句。查询结果是直接保存在List中的对象,不要再次封装。可以通过配置dialect属性,对不同的数据库自动生成不同的用于执行的SQL语句。414.1.1简单查询从数据表meal中查询所有的产品对象,按照名称升序排序,将查询结果输出到控制台。将项目hibernate-3复制并命名为“hibernate-10”,再导入到MyEclipse开发环境中。在测试类HibernateTest中添加testHql_1()方法,并使用@Test注解加以修饰。代码如下:Stringhql

3、="fromMealasmorderbym.mealNameasc";HQL语句“fromMealasm”中Meal是类名,而不是表名,因此需要区分大小写,关键字from不区分大小写。在HQL语句中可以使用别名,例如m是Meal类的别名,别名可以使用关键字as指定,as关键字也可以省略。通过orderby子句将查询结果按照餐品名称升序排序。升序排序的关键字是asc,降序排序的关键字是desc,查询语句中默认为升序。importorg.hibernate.query.Query;……@TestpublicvoidtestHql_1(){//编写HQL语句Stringhql="fr

4、omMealasmorderbym.mealNameasc";//创建Query对象Queryquery=session.createQuery(hql,Meal.class);//执行查询,获得结果Listlist=query.getResultList();//遍历查找结果Iteratoriterator=list.iterator();while(iterator.hasNext()){Mealmeal=iterator.next();System.out.println(meal.getMealId()+"."+meal.getMea

5、lName()+":t"+meal.getMealSummarize());}}514.1.2属性查询简单查询的结果是对象的所有属性,如果只查询对象的部分属性,则称为属性查询,也称为投影查询。在测试类HibernateTest中添加testHql_2()方法,并使用@Test注解加以修饰,代码如下:@TestpublicvoidtestHql_1(){//编写HQL语句,使用属性查询Stringhql="selectm.mealId,m.mealNamefromMealasm";//创建Query对象,此处不使用泛型Queryquery=session.createQuery

6、(hql);//执行查询,获得结果Listlist=query.getResultList();//遍历查找结果Iteratoriterator=list.iterator();while(iterator.hasNext()){Object[]object=(Object[])iterator.next();System.out.println(object[0]+"."+object[1]);}}614.1.3聚集函数在HQL语句中可以使用的聚集函数包括统计记录总数(count)、计算最小值(min)、计算最大值(max)、计算和(sum)、计算平均值(avg)。在实体类M

7、eal.java中有一个属性mealPrice,在映射文件中Meal.hbm.xml中已经为Meal.java中的属性mealPrice配置了映射,对应数据表meal中的MealPrice字段。在测试类HibernateTest中添加testHql_3()方法,并使用@Test注解加以修饰,代码如下://使用count统计餐品的记录总数Stringhql1="selectcount(m)fromMealm";Queryquery1=session.createQuery(hql1);Long

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。