网站大量收购闲置独家精品文档,联系QQ:2885784924

day35_hibernate查询连接池二级缓存.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate第三天:1. 对象状态2. session缓存3. lazy懒加载4. 映射一对一对映射组件/继承映射目标:一、hibernate查询二、hibernate对连接池的支持三、二级缓存四、Hibernate与Struts小案例(项目中session的管理方式)一、hibernate查询1. 查询概述Get/load主键查询对象导航查询HQL查询, Hibernate Query language hibernate 提供的面向对象的查询语言。Criteria 查询, 完全面向对象的查询(Query By Criteria ,QBC)SQLQuery, 本地SQL查询缺点:不能跨数据库平台: 如果该了数据库,sql语句有肯能要改使用场景: 对于复杂sql,hql实现不了的情况,可以使用本地sql查询。HQL查询public class App {private static SessionFactory sf;static {sf = new Configuration().configure().addClass(Dept.class).addClass(Employee.class)// 测试时候使用.buildSessionFactory();}/* * 1)Get/load主键查询2)对象导航查询3)HQL查询, Hibernate Query language hibernate 提供的面向对象的查询语言。4)Criteria 查询, 完全面向对象的查询(Query By Criteria ,QBC)5)SQLQuery, 本地SQL查询 */@Testpublic void all() {Session session = sf.openSession();session.beginTransaction();//1) 主键查询//Dept dept = (Dept) session.get(Dept.class, 12);//Dept dept = (Dept) session.load(Dept.class, 12);//2) 对象导航查询(Navigator)//Dept dept = (Dept) session.get(Dept.class, 12);//System.out.println(dept.getDeptName());//System.out.println(dept.getEmps());// 3)HQL查询// 注意:使用hql查询的时候 auto-import=true 要设置true,// 如果是false,写hql的时候,要指定类的全名//Query q = session.createQuery(from Dept);//System.out.println(q.list());// a. 查询全部列//Query q = session.createQuery(from Dept); //OK//Query q = session.createQuery(select * from Dept); //NOK, 错误,不支持*//Query q = session.createQuery(select d from Dept d); // OK//System.out.println(q.list());// b. 查询指定的列 【返回对象数据Object[] 】//Query q = session.createQuery(select d.deptId,d.deptName from Dept d); //System.out.println(q.list());// c. 查询指定的列, 自动封装为对象 【必须要提供带参数构造器】//Query q = session.createQuery(select new Dept(d.deptId,d.deptName) from Dept d); //System.out.println(q.list());// d. 条件查询: 一个条件/多个条件and or/between and/模糊查询// 条件查询: 占位符//Query q = session.createQuery(from Dept d where deptName=?);//q.setString(0, 财务部);//q.setParameter(0, 财务部);//System.out.println(q.list());// 条件查询: 命名参数//Query q = session.createQuery(from Dept d where deptId=:myId or deptName=:name);//q.s

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档