没有合适的资源?快使用搜索试试~ 我知道了~
首页HQL语法入门学习HQL语法入门学习
HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习
资源详情
资源评论
资源推荐
HQL 查询及语法
HQL:Hibernate Query Language
HQL 是完全面向对象的查询语言,因此可以支持继承和多态等特征。
HQL 查询依赖于 Query 类,每个 Query 实例对应一个查询对象,使用 HQL 查
询按
如下步骤进行:
(1)获取 Hibernate Session 对象;
(2)编写 HQL 语句;
(3)以 HQL 语句作为参数,调用 Session 的 createQuery 方法创建查询对象;
(4)如果 HQL 语句包含参数,调用 Query 的 setXxx 方法为参数赋值;
(5)调用 Query 对象的 list 等方法遍历查询结果。
查询示例:
public class HqlQuery
{
public static void main(String[] args) throws Exception {
HqlQuery mgr = new HqlQuery();
//调用查询方法
mgr.findPersons();
//调用第二个查询方法
mgr.findPersonByHappenDate();
HibernateUtil.sessionFactory.close();
}
//第一个查询方法
private void findPersons() {
//获得 Hibernate Session
Session sess = HibernateUtil.currentSession();
//开始事务
Transaction tx = sess.beginTransaction();
//以 HQL 语句创建 Query 对象
//执行 setString 方法为 HQL 语句的参数赋值
//Query 调用 list 方法访问查询的全部实例
List p1 = sess.createQuery("from Person p where o.myEvents.title = :
eventTitle").setString("eventTitle", "很普通事情").list();
//遍历查询的全部结果
for (Iterator pit = p1.iterator(); pit.haxNext(); )
{
Person p = (Person)pit.next();
System.out.println(p.getName());
}
//提交事务
tx.commit();
HibernateUtil.closeSession();
}
//第二个查询方法
private void findPersonByHappenDate() throws Exception {
Session sess = HibernateUtil.currentSession();
Transaction tx = sess.beginTransaction();
//解析出 Date 对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date start = sdf.parse("2007-11-27");
System.out.println("系统开始通过日期查找人" + start);
//通过 Session 的 createQuery 方法创建 Query 对象
//设置参数
//返回结果集
List pl = sess.createQuery(
"from Person p where p.myEvents.happenDate between :firstDate
and :endDate")
.setDate("firstDate", start)
.setDate("endDate", new Date())
.list();
//遍历结果集
for (Iterator pit = pl.iterator(); pit.hasNext(); )
{
Person p = (Person)pit.next();
System.out.println(p.getName());
}
tx.commit();
HibernateUtil.closeSession();
}
}
$下面介绍 HQL 语句的语法
1.from 子句
from Person
表明从 Person 持久化类中选出全部的实例。
推荐:from Person as p
2.select 子句
select p.name from Person as p
select p.name.firstName from Person as p
select new list(p.name, p.address) from Person as p
select new ClassTest(p.name, p.address) from Person as p (有前提)
select p.name as personName from Person as p
select new map(p.name as personName) from Person as p (与 new map()结
合更普遍)
剩余12页未读,继续阅读
三米
- 粉丝: 7
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1