码迷,mamicode.com
首页 > 数据库 > 详细

springmvc框架的项目,如何在controller中使用dao访问数据库

时间:2015-05-26 18:55:27      阅读:363      评论:0      收藏:0      [点我收藏+]

标签:

springmvc框架中,controller和其他的bean是被分别扫描的,原因是如果不这样配置,controller就会被扫描两次,从而导致事物等问题。

通常情况下,controller是不允许直接使用dao的,一个合理的设计就是在sevice中去调用dao

但是如果有临时的需求需要在controller中访问数据库,那怎么办呢?

有两种方法。

方法1:在web.xml中配置,使spring对事物的控制设计请求的整个生命周期。

 

     <!--配置SpringOpenSessionInViewFilter,以解决懒加载异常的问题 -->

     <filter>

          <filter-name>OpenSessionInViewFilter</filter-name>

          <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>

          <init-param>

                <!--指定sessionfactory的名字,默认为sessionFactory -->

                <param-name>sessionFactoryBeanName</param-name>

                <param-value>sessionFactory</param-value>

          </init-param>

     </filter>

这也能解决在jsp页面中你去对象.对象.对象时,告诉你session已关闭的问题。

方法2

直接使用sessionfactory。对数据库的访问都是通过sessionfactory执行的,所以可以在controller中直接注入sessionfactory对象,访问数据库时opensession即可。

 

网上都没有简单快捷的解决方案,特记录在此。

springmvc框架的项目,如何在controller中使用dao访问数据库

标签:

原文地址:http://blog.csdn.net/sxyandapp/article/details/46009763

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!