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

上传人:莉*** 文档编号:74486442 上传时间:2023-02-27 格式:PPTX 页数:26 大小:1.64MB
返回 下载 相关 举报
最的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、会计学1最的最的hibernate教程教程(jiochng)从入门到精从入门到精通第通第4篇共四篇篇共四篇第一页,共26页。回顾回顾(hug)写出下面两个类的Hibernate配置文件,注意关联(gunlin)的配置。/订单(dn dn)实体类public class Order private long orderId;private String customerName;private java.sql.Date orderDate;/setters&getters./订单明细实体类public class OrderLine private long lineId;private Or

2、der order;private String productName;private long count;/setters&getters.第1页/共26页第二页,共26页。预习预习(yx)检查检查Hibernate支持(zhch)哪两种查询?HQL是什么?第2页/共26页第三页,共26页。本章本章(bn zhn)任务任务使用Hibernate实现,房屋(fngw)查询DAO对title模糊查询对街道精确查询对租金使用一个范围查询查询特定联系人都在哪些街道发布了信息提供分页查询方法第3页/共26页第四页,共26页。本章本章(bn zhn)目标目标n n掌握(zhngw)HQL查询n n掌

3、握(zhngw)Criteria查询第4页/共26页第五页,共26页。为什么使用为什么使用(shyng)HQLn n如何(rh)使用Hibernate查询所有房屋信息?SQL语句(yj):select*from tbl_fwxxHibernateHibernate中如何实现查询中如何实现查询HQLHibernate Query LanuageHibernateHibernate查询语言查询语言第5页/共26页第六页,共26页。如何如何(rh)使用使用HQLn n使用(shyng)HQL的四步1、得到(d do)Session2、编写HQL语句3、创建Query4、执行查询1234from Tb

4、lFwxxfrom TblFwxxfrom关键字,类似于SQL语句实体类名,而不是数据库表名可以没有select子句第6页/共26页第七页,共26页。如何如何(rh)使用使用HQLn n类似SQL SELECT语句,可以(ky)使用表的别名select fw from TblFwxx as fwselect fw from TblFwxx as fw表的别名,as可以(ky)省略HQL是面向对象的查询语言。select fw表示查询fw对象执行结果与from TblFwxx相同第7页/共26页第八页,共26页。常见常见(chn jin)错误错误n n下面代码中有什么(shn me)错误,怎么更

5、正?tbl_fwxx是表名。HQL是对象(duxing)查询语言,应该是类名:TblFwxx第8页/共26页第九页,共26页。常见常见(chn jin)错误错误n n下面代码中有什么(shn me)错误,怎么更正?类名是区分(qfn)大小写的。应该是TblFwxx。但SELECT、FROM等关键字是不区分大小写的。第9页/共26页第十页,共26页。属性属性(shxng)查询查询n nselect fw from TblFwxx fw将查询整个对象(duxing)信息,我们只想查询date和title怎么做?select fw.title,fw.date from TblFwxx fw每条数据(

6、shj)封装成一个Object数组查询结果仍保存在list中第10页/共26页第十一页,共26页。小结小结(xioji)n n实现(shxin)QxDAO接口:public interface QxDAOpublic List listAllQx();第11页/共26页第十二页,共26页。参数参数(cnsh)查询查询n n如何实现:根据title模糊(m hu)查询房屋信息?select fw from TblFwxx fw where fw.title like%健翔桥%where 子句(z j)支持like关键字支持%通配符这样拼装HQL字符串容易带来安全隐患第12页/共26页第十三页,共

7、26页。参数参数(cnsh)查询查询n nHQL提供类似preparedStatement的参数(cnsh)查询以?为占位符设置(shzh)参数的值Query提供setLong,setDouble,setDate 等方法用于设置不同类型的参数值注意:1.必须保证:query设置参数的数目 =hql语句中占位符的数目2.占位符下标从 0 开始。第13页/共26页第十四页,共26页。参数参数(cnsh)查询查询n n查询(chxn)租金在zj1到zj2范围内的租房信息:public List searchByZj(int zj1,int zj2)。public List searchByZj(in

8、t 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页第十五页,共26页。参数查询参数查询(chxn):命名参数:命名参数n n查询(chxn)租金在zj1到zj2范围内的租房信息。使用

9、“:参数(cnsh)名”的格式定义命名参数(cnsh)设定命名参数的值第15页/共26页第十六页,共26页。小结小结(xioji)n n根据房屋(fngw)类型查询:public List searchByJd(int jdId);提示(tsh):.where fw.jd.jdid=?或者.where fw.jd.jdid=:jdid第16页/共26页第十七页,共26页。关联关联(gunlin)查询查询n n查询:联系人为“伊先生(xin sheng)”的房屋信息都分布在哪些街道。从两类对象中检索(jin su)数据设置关联条件。注意:jd是对象。生成的SQL语句第17页/共26页第十八页,共

10、26页。小结小结(xioji)n n写出HQL语句:n n查询“亚运村”街道(jido)的房屋信息中,涉及的房屋类型。提示(tsh):亚运村街道的房屋信息:fw.jd.jdid=39第18页/共26页第十九页,共26页。分页查询分页查询(chxn)n n实现(shxin)分页查询方法:public List search(int pageNo,int pageSize)。使用order by对结果(ji gu)排序分页代码第19页/共26页第二十页,共26页。统计统计(tngj)函数函数n n在实现分页功能时,我们(w men)需要知道总记录数以便计算总页数。使用(shyng)count()函

11、数当结果只有一条记录时,可以使用 uniqueResult()得到结果可以使用的函数还有:min()、max()、avg()第20页/共26页第二十一页,共26页。小结小结(xioji)n n写出程序代码:n n1、根据租金排序,查询(chxn)从高到低前10条记录。n n2、查询(chxn)朝阳区房屋租金的平均值。String hql=from TblFwxx fw order by fw.zj desc;.query.setFirstResult(0);query.setMaxResult(10);String hql=select avg(fw.zj)from TblFwxx fw +w

12、here fw.jd.tblQx.qx=朝阳区;.double avgZj=(Double)query.uniqueResult();第21页/共26页第二十二页,共26页。对象对象(duxing)查询查询n n使用一个查询方法,同时支持三项功能:n n对title模糊查询n n对房屋类型精确查询n n对租金(zjn)使用一个范围查询public List search(TblFwxx condition)String hql=select fw from TblFwxx fw hql+=where 1=1;if(condition.getTitle()!=null)hql+=and fw.t

13、itle like%+condition.getTitle()+%;.代码啰嗦,不易(b y)维护不方便使用参数查询,安全性和执行效率不好使用Criteria查询代码更简洁第22页/共26页第二十三页,共26页。使用使用(shyng)Criteria查询查询n n以对象(duxing)的方式构建查询创建(chungjin)Criteria 对象模糊查询大于等于 和 小于等于支持in和between数组类型支持类似EL表达式的属性浏览语法可以增加多个排序规则第23页/共26页第二十四页,共26页。使用使用(shyng)Criteria查询查询n n测试程序和运行(ynxng)效果生成(shn c

14、hn)的SQL语句:Hibernate:select this_.fwid as fwid1_0_,this_.uid 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 lxr

15、1_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页第二十五页,共26页。总结总结(zngji)HQL的全称是?和SQL相比,HQL有哪些特点?HQL语句为:select jd.jdid,jd.jd from TblJd jd。怎样获得(hud)并显示查询结果?使用?做占位符的参数查询,怎样设置参数的值?命名参数查询的语法是?怎样创建Criteria查询对象?第25页/共26页第二十六页,共26页。

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

当前位置:首页 > 管理文献 > 管理工具

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

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