2009.01.21 / 标签:
hibernate,
HQL查询语句 / 分类:
J2EE技术
在[jsp中实现分页显示数据] 一文中,为了分页写了很长的SQL语句,很麻烦!使用Hibernate提供的分页就简单的多了。在Hibernate分页查询中,使用setFirstResult()方法设置当前页(从0开始),使用setMaxResults()方法设置每页最多显示多少条数据。
示例代码:
public void testHQL(){
Session session = super.getSession();
Query query = session.createQuery("FROM User").setFirstResult(0).setMaxResults(5).list();
List list = query.list();
}
2009.01.21 / 标签:
hibernate,
HQL查询语句 / 分类:
J2EE技术
在Hibernate映射文件中User.hbm.xml使用标签定义过滤器。
<filter-def>
<filter-param name="myid" type="java.lang.Integer"/>
</filter-def>
接下来在其标签中调用此过滤器。
<class ...>
...
<filter name="myfilter" condition="id < :myid"/>
</class>
这样一来,当我们执行查询User的时候Hibernate会自动将这个条件加到查询语句之后。这里的<是“<”的转义字符。
public void testFilterQuery(){
Session session = super.getSession();
session.enableFilter("myfilter").setParameter("myid",10);
Query query = session.createQuery("FROM User");
List list = query.list();
}
2009.01.21 / 标签:
hibernate,
HQL查询语句 / 分类:
J2EE技术
为了降低HQL与程序之间的耦合度,可以通过Hibernate外置命名查询的方式达到。
在Hibernate的映射文件中(任何一个映射文件)使用标签定义HQL语句。
<query name="searchUser">
<![CDATA[
FROM User
]]>
</query>
在程序中使用session.getNamedQuery()方法得到HQL查询语句。
public void testHQL(){
Session session = super.getSession();
Query query = session.getNamedQuery("searchUser");
List list = query.list();
}
如此,如果这个HQL语句后期需要修改的话,我们就不必再去修改程序了,而只需简单的修改标签的定义即可。不过,任何方式都有其优缺点,所以在开发中要灵活运用。
2009.01.20 / 标签:
hibernate,
HQL查询语句 / 分类:
J2EE技术
使用Hibernate进行HQL查询的可以是实体类,也可以是实体类中的属性。首先来看看如何进行实体类查询。HQL语句是:FROM User
阅读全文>>
2009.01.19 / 标签:
hibernate,
HQL查询语句 / 分类:
J2EE技术
4步学会使用HQL
学会使用HQL只需如下4步:
1.得到session
2.编写HQL语句
3.创建Query对象
4.执行查询。
代码实例(该类继承自[进一步封装HibernateSessionFacotry] ):
public List getUser() throws Exception {
Session session = super.getSession();//得到session
String hql = "FROM User";//编写HQL语句
Query query = session.createQuery(hql);//创建Query对象
return query.list();//执行查询
}
2009.01.15 / 标签:
hibernate,
HQL查询语句 / 分类:
J2EE技术
慢慢的忙起来了,博客也就不再每天更新了,没有那么多时间和精力去整理东西了。不过我还是会坚持更新,但是不是为了更新而更新。学到或看到新东西了,我就会尽量将其写到博客上来。其实我的博客就是我的学习笔记,一个公开的日记本。O(∩_∩)O~
阅读全文>>