JavaWeb学习之HibernateDaoSupport使用
Posted 小明TI
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb学习之HibernateDaoSupport使用相关的知识,希望对你有一定的参考价值。
看到一篇很好描述HibernateDaoSupport类使用的例子,特此在这和大家分享一下
核心提示:1、 继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioon的形式来获 取Session了,由于HibernateDaoSupport本身已有获取session的方法getSession(),所以直接用Session se=this.getSession();来获取, 2、 在依据hql获取用户
1、 继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioon的形式来获 取Session了,由于HibernateDaoSupport本身已有获取session的方法getSession(),所以直接用Session se=this.getSession();来获取,
2、 在依据hql获取用户信息时,继承了HibernateDaoSupport类的类中不能在使用Query类了,而是用List list = this.getHibernateTemplate().find(hql);形式来获取实体类集合
实例:
Java类篇:
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import entity.Ssh;
public class SshDAO extends HibernateDaoSupport
// private SessionFactory sf = null;
//
// public SessionFactory getSf()
// return sf;
//
//
// public void setSf(SessionFactory sf)
// this.sf = sf;
//
// public String print(int id)
// Session se = sf.openSession();
// String hql = “from Ssh where id=” + id;
// Query q = se.createQuery(“hql”);
// List list = q.list();
// String a = list.get(1).getName();
// return a;
//
public String print(int id)
Session se =this.getSession();//获取Session对象
String hql = "from Ssh where id=" + id;
//依据hql获取实体集合,此处不要用Query类来实现
List<Ssh> list = this.getHibernateTemplate().find(hql);
String a = list.get(0).getName();
return a;
public static void main(String[] args)
ApplicationContext ac=newClassPathXmlApplicationContext
(“spring/spring.xml”);
SshDAO ssh=(SshDAO)ac.getBean("sshD");
System.out.println(ssh.print(1));
Spring.xml 文件篇:
在spring中配置继承了HibernateDaoSupport的类时此处的sessionFactory不能自定义! Sf为spring中的SessionFacotry的id
<property name="sessionFactory">
<ref bean="sf" />
</property>
</bean>
以上是关于JavaWeb学习之HibernateDaoSupport使用的主要内容,如果未能解决你的问题,请参考以下文章