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<Ssh> list = this.getHibernateTemplate().find(hql);形式来获取实体类集合
例:import java.util.List;
1. import org.hibernate.Query;
2. import org.hibernate.Session;
3. import org.hibernate.SessionFactory;
4. import org.springframework.context.ApplicationContext;
5. import org.springframework.context.support.ClassPathXmlApplicationContext;
6. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
7. import entity.Ssh;
8. public class SshDAO extends HibernateDaoSupport {
9. // private SessionFactory sf = null;
10. // public SessionFactory getSf() {
11. // return sf;
12. // }
13. // public void setSf(SessionFactory sf) {
14. // this.sf = sf;
15. // }
16. // public String print(int id) {
17. // Session se = sf.openSession();
18. // String hql = "from Ssh where id=" + id;
19. // Query q = se.createQuery("hql");
20. // List<Ssh> list = q.list();
21. // String a = list.get(1).getName();
22. // return a;
23. // }
24. public String print(int id) {
25. Session se =this.getSession();//获取Session对象
26. String hql = "from Ssh where id=" + id;
27. //依据hql获取实体集合,此处不要用Query类来实现
28. List<Ssh> list = this.getHibernateTemplate().find(hql);
29. String a = list.get(0).getName();
30. return a;
31. }
32. public static void main(String[] args) {
33. ApplicationContext ac=newClassPathXmlApplicationContext
34. ("spring/spring.xml");
35. SshDAO ssh=(SshDAO)ac.getBean("sshD");
36. System.out.println(ssh.print(1));
37. }
38. }
Spring.xml 文件篇:
在spring中配置继承了HibernateDaoSupport的类时此处的sessionFactory不能自定义! Sf为spring中的SessionFacotry的id
1. <bean id="sshD" class="dao.SshDAO">
2. <property name="sessionFactory">
3. <ref bean="sf" />
4. </property>
5. </bean>
注意:此种情况适应于实体Dao类时系统自动生成时
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Spring4 集成 Hibernate3 使用 HibernateTemplate 和使用 HibernateDaoSupport 操作对象
Spring4 集成 Hibernate3 使用 HibernateTemplate 和使用 HibernateDaoSupport 操作对象第一部分:使用 HibernateTemplate基本步骤(1)引入依赖; (2)编写 beans.xml 文件,配置 dataSource、SessionFactory、TransactionManager、事务通知、aop 事务 (3)编写实体类,并且
Spring4 Hibernate3 hibernate xml spring