看到一篇很好描述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);形式来获取实体类集合

实例:

Java类篇:

  1. import java.util.List;
  2. import org.hibernate.Query;
  3. import org.hibernate.Session;
  4. import org.hibernate.SessionFactory;
  5. import org.springframework.context.ApplicationContext;
  6. import org.springframework.context.support.ClassPathXmlApplicationContext;
  7. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
  8. import entity.Ssh;
  9. public class SshDAO extends HibernateDaoSupport {
  10. //  private SessionFactory sf = null;
  11. //
  12. //  public SessionFactory getSf() {
  13. //     return sf;
  14. //  }
  15. //
  16. //  public void setSf(SessionFactory sf) {
  17. //     this.sf = sf;
  18. //  }
  19. //  public String print(int id) {
  20. //     Session se = sf.openSession();
  21. //     String hql = "from Ssh where id=" + id;
  22. //     Query q = se.createQuery("hql");
  23. //     List<Ssh> list = q.list();
  24. //     String a = list.get(1).getName();
  25. //     return a;
  26. //  }
  27. public String print(int id) {
  28. Session se =this.getSession();//获取Session对象
  29. String hql = "from Ssh where id=" + id;
  30. //依据hql获取实体集合,此处不要用Query类来实现
  31. List<Ssh> list = this.getHibernateTemplate().find(hql);
  32. String a = list.get(0).getName();
  33. return a;
  34. }
  35. public static void main(String[] args) {
  36. ApplicationContext ac=newClassPathXmlApplicationContext
  37. ("spring/spring.xml");
  38. SshDAO ssh=(SshDAO)ac.getBean("sshD");
  39. System.out.println(ssh.print(1));
  40. }
  41. }

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类时系统自动生成时

文章来源:http://ajava.org/course/open/17629.html

HibernateDaoSupport类的使用(转)的更多相关文章

  1. HibernateDaoSupport类的使用

    HibernateDaoSupport类的使用 1.        继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioo ...

  2. HibernateDaoSupport类的底层中hql操作使用

    spring的ApplicationContex.xml 中配置 sql 查询方法: 加载数据源的两种方式: <!--方式一:使用 c3p0 连接池 加载数据源 --> <bean ...

  3. HibernateTemplate和HibernateDaoSupport(spring注入问题)

    HibernateTemplate HibernateTemplate是spring提供的一个就hibernate访问持久层技术而言.支持Dao组件的一个工具.HibernateTemplate提供持 ...

  4. SessionFactory、HibernateTemplate、HibernateDaoSupport之间的关系说明

    在接触HibernateTemplate之前,我们知道,在对数据库进行CRUD操作之前,需要开启session.transaction等等.在hibernate学习过程中,我们知道了,得到sessio ...

  5. HibernateDaoSupport和HibernateTemplate

    hibernateTemplate的常用方法: Ø  void delete(Object entity):删除指定持久化实例 Ø  deleteAll(Collection entities):删除 ...

  6. HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good(转)

    Spring+Hibernate两种方法实现增删改查 首先,定义一个Customer的bean类,设置好Customer.hbm.xml文件.再定义好一个Dao接口.准备好一个jdbc.propert ...

  7. HibernateTemplate和HibernateDaoSupport

    Spring整合Hibernate后,为Hibernate的DAO提供了两个工具类:HibernateTemplate和HibernateDaoSupport HibernateTemplateHib ...

  8. spring-framework-3.2.4与hibernate-release-4.3.5下使用HibernateDaoSupport抛出异常

    spring-framework-3.2.4与hibernate-release-4.3.5下使用HibernateDaoSupport抛出异常java.lang.ClassCastException ...

  9. HibernateDaoSupport与JdbcDaoSupport

    Dao 的支持类可以有好多,如: JdbcDaoSupport , HibernateDaoSupport ,JdoDaoSupport等,下面对最常用的HibernateDaoSupport与Jdb ...

随机推荐

  1. hdfs fsimage namenode 应该设置多少堆内存合适

    线上的fsimage 有1.8G左右了,设置了6G heap 不够用了 新生代:老年代=1:2=2G: 4G NameNode的内存主要由NameSpace和BlocksMap占用,其中NameSpa ...

  2. dockerfile 镜像 指定虚拟机的内存

    dockerfile eg: # sea, FROM frolvlad/alpine-oraclejdk8:slim #add volume VOLUME /tmp #add project ADD ...

  3. day03-数据类型

    数据类型 一.介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 mysql常用数据类型概括:#1. 数字: 整型:tinyint.int.bi ...

  4. ABAP-邮件发送

    *&---------------------------------------------------------------------* *& Report ZRICO_TES ...

  5. 17_react脚手架应用分析

    |-- index.html // 启动页(主页) |-- build //构建目录,遵循发布系统规范 | |-- index.html //静态页面 | |-- static //资源文件发布到cd ...

  6. SpringBoot配置swagger2(亲测有效,如果没有配置成功,欢迎在下方留言)

    一.导包: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swa ...

  7. Masonry 动画

    比如想做一个最简单的位移动画: 关键点在,改完约束后,调用下面这段代码,父view调用 layoutIfNeeded [UIView animateWithDuration:0.5 animation ...

  8. 【373】LabelEncoder 相关

    OneHotEncoder独热编码和 LabelEncoder标签编码 pandas.DataFrame.groupby

  9. ARP协议,以及ARP欺骗

    1.定义: 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上 ...

  10. LeetCode OJ 79. Word Search

    题目 Given a 2D board and a word, find if the word exists in the grid. The word can be constructed fro ...