1、 Hibernate里的sql语句查询
在MyEclipse里安装完Hibernate框架后,生成一个HibernateSessionFactory.java的文件。用该类可以完成sql语句查询。
源代码:
Session session = HibernateSessionFactory.getSession();//创建一个会话,注意这里的session代表数据库的连接,相当于jdbc中的connection
Query sqy = session.createSQLQuery(“select * from emp”);//根据会话对象创建语句分析器,Query相当于jdbc中的Statement
List list = sqy.list();
System.out.println(list.get(0));
2、 Hibernate里的HQL语句查询
源代码:
Session session = HibernateSessionFactory.getSession();
Query q = session.createQuery(“from com.sun.demo.Userinfo”);
List list = q.list();
For(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
HibernateSessionFactory.closeSession();
3、 MyEclipse里调试程序时,可以把鼠标放在某一个变量上面,点右键-》display查看该变量的具体类型信息。
4、 HQL中查询某一对象的多个属性值,并显示该属性值。
Session session = HibernateSessionFactory.getSession();
Query q = session.createQuery(“select u.id,u.name from com.sun.demo.Userinfo u”);
List list = q.list();
For(int i=0;i<list.size();i++){
Object[] str = (Object[])list.get(i);//查询多个属性的时候,返回的是一个 object数组的list
System.out.println(“-----”+str[0]+”:”+str[1]);
}
HibernateSessionFactory.closeSession();
5、HQL直接将查询结果生成对象
Session session = HibernateSessionFactory.getSession();
Query q = session.createQuery(“select new com.sun.demo.Emp(u.id,u.name ,to_char(sysdate,’yyyy-mm-dd’)) from com.sun.demo.Userinfo u”);
List list = q.list();
For(int i=0;i<list.size();i++){
Emp emp = (Emp)list.get(i);//查询多个属性的时候,返回的是一个 object数组的list
System.out.println(“-----”+emp.getID()+”:”+emp.getName());
}
HibernateSessionFactory.closeSession();
5、 常用的HQL语句
(1)Session.createQuery(“from Userinfo u where u.userid>1003”);
(2)Session.createQuery(“from Userinfo u where
to_number(u.userid)>1003”);
(3) Session.createQuery(“from Userinfo u where u.userid>1003 and u.username like ’_a’”);//第二个字母是a的名字
(4) Session.createQuery(“select max(u.userid) from Userinfo u where u.userid>1003”);
(5) Session.createQuery(“select count(*) from Userinfo u where u.userid>1003”);
(6) Session.createQuery(“SELECT AVG(sal) from Userinfo Group by deptno);//其中的sal,deptno必须是类Userinfo的属性,如果不是,则需要在类Userinfo里边加入该属性值,并且为该属性值加入get和set方法,对应的sql语句查询为select avg(SAL) from USERINFO group by DEPTNO,其中USERINFO为表名,SAL,DEPTNO为字段名。
(7)、Session.createQuery(“SELECT round(avg(age) from Userinfo Group by sex);//round()函数是四舍五入
(8)、Session.createQuery(“SELECT u from Userinfo u where age>(select avg(age) from Userinfo);//不能是select * ,HQL语句不支持select *;
(9)、session.createQuery(“select o from Object o”);//会把存在的类Userinfo的信息给查出来,因为存在这继承关系
分享到:
相关推荐
在深入探讨《hibernate笔记.txt》所提及的关键知识点前,我们先来解析一下标题和描述中的核心概念。“自上而下的依赖,单向依赖,层与层之间最好依赖抽象”,这一描述实际上触及了软件架构设计中的关键原则,特别是...
《韩顺平.2011版.hibernate笔记》是一份针对Hibernate框架的详细学习资料,由知名IT讲师韩顺平在2011年编撰而成。Hibernate是Java开发领域中广泛使用的对象关系映射(ORM)框架,它极大地简化了数据库操作,使开发者...
【传智播客 Hibernate 笔记】是一份深入学习 Hibernate ORM 框架的资源集合,包括了 word 笔记、pdf 讲义、源代码以及相关分析图表和 jar 包,旨在帮助开发者全面理解并掌握 Hibernate 的核心概念与实际应用。...
《Hibernate笔记完整版》 在Web开发领域,Hibernate作为三大框架之一,扮演着至关重要的角色。本文将全面介绍Hibernate,包括其数据持久化的概念、优缺点对比,以及Hibernate的核心概念和编程步骤。 对象持久化是...
《韩顺平Hibernate笔记》是一份详尽记录了著名IT讲师韩顺平关于Hibernate框架讲解内容的资料集合。Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以更加专注于...
《韩顺平Hibernate笔记》是一份详尽的关于Hibernate框架的学习资料,由知名IT教育专家韩顺平编撰。Hibernate是Java开发中的一个强大的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互,使得开发者可以...
本笔记将深入探讨 Hibernate 的核心概念、配置、实体映射、查询语言及缓存机制。 1. **核心概念** - **对象关系映射(ORM)**: Hibernate 提供了一种桥梁,将 Java 对象与数据库中的记录关联起来,使得开发者可以...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库。这个框架将数据库操作转化为对Java对象的操作,简化了数据持久化的复杂度。以下是对Hibernate的一些关键知识点的...
### 尚学堂Hibernate笔记知识点详解 #### 一、项目初始化与环境搭建 1. **新建项目**:在IDE中创建一个新的Java项目。 2. **构建用户库并添加所需的JAR包**: - 右键点击项目 -> `Build Path` -> `Configure ...
hibernate笔记.pdf
总结起来,"韩顺平hibernate笔记及图解"涵盖了Hibernate的基础概念、核心组件、对象关系映射、查询机制、事务管理以及实体间的关系等内容。通过学习这份笔记,开发者能深入理解Hibernate的工作原理和使用技巧,提升...
【Spring+Hibernate笔记】这篇文档主要涵盖了在Web开发中使用Spring和Hibernate的基础知识。首先,我们从Spring的Hello World开始,了解如何配置JSP运行环境。 1.1. 配置JSP运行环境是开发Web应用的第一步。这包括...
【马士兵Hibernate笔记】是一份面向初学者的教程,旨在帮助读者深入了解Hibernate这一持久化框架。Hibernate是一个基于Java的ORM(对象关系映射)工具,它允许开发者将数据库操作转换为面向对象的方式,从而简化了...