HibernateTemplate和HibernateDaoSupport(spring注入问题)
来源:互联网 发布:淘宝化妆品类目规则 编辑:程序博客网 时间:2024/05/22 05:13
HibernateDaoSupport
HibernateDaoSupport同样也是Spring提供的、为Hibernate访问数据库的DAO组件:该类主要提供如下两个方法,方便DAO的实现:
1>public final HibernateTemplate getHibernateTemplate()
2>public final void setSessionFactory(SessionFactory sessionFactory)
其中setSessionFactory方法用来接收Spring的ApplicationContext的依赖注入,可接收配置在Spring的SessionFactory实例,getHibernateTemplate方法则用来生成HibernateTeplate模板对象来完成数据库访问。
同样常用HibernateDaoSupport中的getSession方法来获取Session对象对数据库进行操作,相对HibernateTemplate对象而言,HibernateDaoSupport应用更加灵活。
配置方案——Spring+hibernate访问数据库有以下几种方法:
1>注入SessionFactory
在spring配置文件中,对Dao注入sessionFactory,如下所示
配置文件相关配置如下:
</bean>
Dao编码如下:
public class ManageEmpDaoImpl extends HibernateDaoSupport implements ManageEmpDao{
这里的sessionFacotry注入不是给类的,而是给继承HibernateDaoSupport类的sessionFactory,在上面源码中可以看到。这样编写的一个好处就是我们不再需要关心关闭、是否连接成功等问题。主要是很方便。但是这个不好就是java只支持单继承,所以唯一的继承给了HibernateDaoSupport有点可惜。而且也没有必要这样做。
2>注入HibernateTemplate
这种方法本质上跟上面的sessionFacotry一样,只不过进行了一层包装,好处就是Dao中的类就不用再继承那个HibernateDaoSuport了,不过要先配置好HibernateTemplate:
前者代码虽然简便,但是继承了HibernateDaoSupport之后,没有办法再继承别的类了.用什么就看个人喜好了。
在实际使用中,如果持久层继承HibernateDaoSupport的话,那么每个持久层的类,都需要注入SessionFactory,非常麻烦,
有一个便捷方法: 可以自己写一个类,继承HibernatedaoSupport,把SessionFactory或者HibernateTemplate注入到这个类中,
持久层继承此类。
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- spring的HibernateDaoSupport以及HibernateTemplate和jdbcTemplate的选择问题
- 友元类
- codeforces 258B Little Elephant and Elections 数位DP+排列组合
- 【九度OJ】1014【快速排序】
- C/C++ sort函数的用法
- JIT技术(HHVM中有用到)
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- ios视频学习 3.5 类的继承与重载
- Top of A (I)
- 演示js中的事件
- C++ primer(第五版) 练习 6.47 个人 code
- qsort和sort学习与比较
- HibernateDaoSupport和HibernateTemplate
- [水]ZOJ1494
- hdu 2111 Saving HDU