在ssh框架中的dao类中如何获取hibernate中的session

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ssh框架中的dao类中如何获取hibernate中的session相关的知识,希望对你有一定的参考价值。

DAO需要继承DAO extends HibernateDaoSupport

applicationContext.xml中需要注入sessionFactory
<bean id="adminManagerDAO" class="com.guigu.store.dao.AdminManagerDAO">
<!--注入SessionFactory -->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

Session session = getHibernateTemplate().getSessionFactory().openSession();
SQLQuery query = session.createSQLQuery("select * from user_kissfly");
query.addEntity(UserKissfly.class);
query.setFirstResult(0);
//query.setFetchSize(3);
query.setMaxResults(4);
List<UserKissfly> list =query.list();
// for(UserKissfly user:list)
// System.out.println("当前用户的部门是:" + user.getDeptKissfly().getDeptname());
//

System.out.println("查到的数据条数为:" + list.size());
session.close();
参考技术A 我不怎么喜欢直接使用hibernate中的session。除非是万不得已时候。
我喜欢使用spring来管理hibernate中的session。使用this.getHibernateTemplate.XXXX就可以了
参考技术B 从上下文对象获取SessionFactory对象,在SessionFactory对象实现openSession()方法. 参考技术C session = this.getHibernateTemplate().getSessionFactory().openSession(); 参考技术D getSessionFactory().openSession()

ssh 集成框架 dao层 如何使用session

平台采用ssh集成框架,去掉了hibernate的配置文件,相关配置都集成在applicationContext.xml文件中,由于各种原因,想在action层直接使用
query查询或者Criteria,但需要创建session对象,请问使用什么方法,使用session呢?

让action继承HibernateDaoSupport这个类,就可以了,然后在spring的配置文件中添加对sessionFactory的属性依赖,试试吧,应该可以! 参考技术A 不要直接创建session,把dao像service一样注入到action里使用,dao获取session没问题吧?
注意事务就行了
参考技术B hibernateTeplet.getsseion()

以上是关于在ssh框架中的dao类中如何获取hibernate中的session的主要内容,如果未能解决你的问题,请参考以下文章

SSH框架整合中Hibernate实现Dao层常用结构

我如何使用从表单中获得的值作为我的 dao 类中的变量?

SSH框架的搭建+JPA接口

Spring框架中@Param注解作用

JavaEE | 通用Dao的抽取

在ssh框架中service,action,jsp,formbeam,dao的调用顺序