最的hibernate教程从入门到精通第4篇共四篇.pptx

上传人:莉*** 文档编号:87169777 上传时间:2023-04-16 格式:PPTX 页数:26 大小:1.07MB
返回 下载 相关 举报
最的hibernate教程从入门到精通第4篇共四篇.pptx_第1页
第1页 / 共26页
最的hibernate教程从入门到精通第4篇共四篇.pptx_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《最的hibernate教程从入门到精通第4篇共四篇.pptx》由会员分享,可在线阅读,更多相关《最的hibernate教程从入门到精通第4篇共四篇.pptx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、回顾写出下面两个类的Hibernate配置文件,注意关联的配置。/订单实体类public class Order private long orderId;private String customerName;private java.sql.Date orderDate;/setters&getters./订单明细实体类public class OrderLine private long lineId;private Order order;private String productName;private long count;/setters&getters.第1页/共26页预习检

2、查Hibernate支持哪两种查询?HQL是什么?第2页/共26页本章任务使用Hibernate实现,房屋查询DAO对title模糊查询对街道精确查询对租金使用一个范围查询查询特定联系人都在哪些街道发布了信息提供分页查询方法第3页/共26页本章目标掌握HQL查询掌握Criteria查询第4页/共26页为什么使用HQL如何使用Hibernate查询所有房屋信息?SQL语句:select*from tbl_fwxxHibernateHibernate中如何实现查询中如何实现查询HQLHibernate Query LanuageHibernateHibernate查询语言查询语言第5页/共26页如

3、何使用HQL使用HQL的四步1、得到Session2、编写HQL语句3、创建Query4、执行查询1234from TblFwxxfrom关键字,类似于SQL语句实体类名,而不是数据库表名可以没有select子句第6页/共26页如何使用HQL类似SQL SELECT语句,可以使用表的别名select fw from TblFwxx as fw表的别名,as可以省略HQL是面向对象的查询语言。select fw表示查询fw对象执行结果与from TblFwxx相同第7页/共26页常见错误下面代码中有什么错误,怎么更正?tbl_fwxx是表名。HQL是对象查询语言,应该是类名:TblFwxx第8页

4、/共26页常见错误下面代码中有什么错误,怎么更正?类名是区分大小写的。应该是TblFwxx。但SELECT、FROM等关键字是不区分大小写的。第9页/共26页属性查询select fw from TblFwxx fw将查询整个对象信息,我们只想查询date和title怎么做?select fw.title,fw.date from TblFwxx fw每条数据封装成一个Object数组查询结果仍保存在list中第10页/共26页小结实现QxDAO接口:public interface QxDAOpublic List listAllQx();第11页/共26页参数查询如何实现:根据title模

5、糊查询房屋信息?select fw from TblFwxx fw where fw.title like%健翔桥%where子句支持like关键字支持%通配符这样拼装HQL字符串容易带来安全隐患第12页/共26页参数查询HQL提供类似preparedStatement的参数查询以?为占位符设置参数的值Query提供setLong,setDouble,setDate等方法用于设置不同类型的参数值注意:1.必须保证:query设置参数的数目 =hql语句中占位符的数目2.占位符下标从 0 开始。第13页/共26页参数查询查询租金在zj1到zj2范围内的租房信息:public List searc

6、hByZj(int zj1,int zj2)。public List searchByZj(int zj1,int zj2)Session session=this.getSession();String hql=from TblFwxx fw +where fw.zj=?and fw.zj、=、=、和is null;and、or、not和括号;in和between使用between关键字上面的hql语句怎么写?当参数数目增多的时候,上面的代码会带来什么问题?当参数数目增多时,代码可读性下降;将下标顺序硬编码,参数顺序有调整则代码也要调整第14页/共26页参数查询:命名参数查询租金在zj1到z

7、j2范围内的租房信息。使用“:参数名”的格式定义命名参数设定命名参数的值第15页/共26页小结根据房屋类型查询:public List searchByJd(int jdId);提示:.where fw.jd.jdid=?或者.where fw.jd.jdid=:jdid第16页/共26页关联查询查询:联系人为“伊先生”的房屋信息都分布在哪些街道。从两类对象中检索数据设置关联条件。注意:jd是对象。生成的SQL语句第17页/共26页小结写出HQL语句:查询“亚运村”街道的房屋信息中,涉及的房屋类型。提示:亚运村街道的房屋信息:fw.jd.jdid=39第18页/共26页分页查询实现分页查询方法

8、:public List search(int pageNo,int pageSize)。使用order by对结果排序分页代码第19页/共26页统计函数在实现分页功能时,我们需要知道总记录数以便计算总页数。使用count()函数当结果只有一条记录时,可以使用uniqueResult()得到结果可以使用的函数还有:min()、max()、avg()第20页/共26页小结写出程序代码:1、根据租金排序,查询从高到低前10条记录。2、查询朝阳区房屋租金的平均值。String hql=from TblFwxx fw order by fw.zj desc;.query.setFirstResult(

9、0);query.setMaxResult(10);String hql=select avg(fw.zj)from TblFwxx fw +where fw.jd.tblQx.qx=朝阳区;.double avgZj=(Double)query.uniqueResult();第21页/共26页对象查询使用一个查询方法,同时支持三项功能:对title模糊查询对房屋类型精确查询对租金使用一个范围查询public List search(TblFwxx condition)String hql=select fw from TblFwxx fw hql+=where 1=1;if(conditio

10、n.getTitle()!=null)hql+=and fw.title like%+condition.getTitle()+%;.代码啰嗦,不易维护不方便使用参数查询,安全性和执行效率不好使用Criteria查询代码更简洁第22页/共26页使用Criteria查询以对象的方式构建查询创建Criteria对象模糊查询大于等于 和 小于等于支持in和between数组类型支持类似EL表达式的属性浏览语法可以增加多个排序规则第23页/共26页使用Criteria查询测试程序和运行效果生成的SQL语句:Hibernate:select this_.fwid as fwid1_0_,this_.ui

11、d as uid1_0_,this_.jdid as jdid1_0_,this_.lxid as lxid1_0_,this_.shi as shi1_0_,this_.ting as ting1_0_,this_.fwxx as fwxx1_0_,this_.zj as zj1_0_,this_.title as title1_0_,this_.date as date1_0_,this_.telephone as telephone1_0_,this_.lxr as lxr1_0_ from TBL_FWXX this_ where this_.title like?and this_.zj=?and this_.zj=?and this_.lxid in(?,?)order by this_.fwid asc第24页/共26页总结HQL的全称是?和SQL相比,HQL有哪些特点?HQL语句为:select jd.jdid,jd.jd from TblJd jd。怎样获得并显示查询结果?使用?做占位符的参数查询,怎样设置参数的值?命名参数查询的语法是?怎样创建Criteria查询对象?第25页/共26页感谢您的观看。第26页/共26页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁