HibernateDaoSupport类的使用

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>
  1. 注意:此种情况适应于实体Dao类时系统自动生成时

HibernateDaoSupport类的使用的更多相关文章

  1. HibernateDaoSupport类的使用(转)

    看到一篇很好描述HibernateDaoSupport类使用的例子,特此在这和大家分享一下 核心提示:1. 继承了HibernateDaoSupport类的类获取session时,已不可用Sessio ...

  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. assembly打包。

    --排除 <?xml version="1.0" encoding="UTF-8"?><assembly    xmlns="htt ...

  2. namke 命令行编译

    简介 大家已经习惯于微软提供的功能强大的IDE,已经很少考虑手动编连项目了,所谓技多不压身,有空的时候还是随我一块了解一下命令行编译. C/C++/VC++程序员或有Unix/Linux编程经验应该很 ...

  3. PIC32MZ tutorial -- 32-bit Timer

    The microcontroller is PIC32MZ2048ECH144 on the PIC32MZ EC Starter Kit. This microcontroller has fou ...

  4. 7.arm汇编 bic和orr指令

    1. bic BIC指令的格式为: BIC{条件}{S}  目的寄存器,操作数1,操作数2 BIC指令用于清除操作数1的某些位,并把结果放置到目的寄存器中. 操作数1应是一个寄存器, 操作数2可以是一 ...

  5. 第九十八天请假 PHP TP框架 空操作和命名空间

    访问空方法解决办法->在控制器里面创建 _empty 方法 <?php namespace Home\Controller; use Think\Controller; class Ind ...

  6. mybatis like的用法

    oracle数据库: SELECT * FROM user WHERE name like CONCAT('%',#{name},'%') 或 SELECT * FROM user WHERE nam ...

  7. html--第一章 基础知识总结

    1--<body bgcolor="red">背景颜色 2--<body backgroud="back-ground.gif">  背 ...

  8. SO单号中某两项没进FP

    某张SO共60项,有两项没有进FP系统,550 560两项VC物料没有进FP 1.检查in_sales_order发现是有60行数据 2.在INODS时执行FP_SO呢个存储过程会将in_sales_ ...

  9. __new__

    [__new__] object.__new__(cls[, ...]) Called to create a new instance of class cls. 用于创建类对象cls的实例. __ ...

  10. (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...