好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

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

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

有两种方法。

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

 

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

      < 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访问数据库

标签:

查看更多关于springmvc框架的项目,如何在controller中使用dao访问数据库的详细内容...

  阅读:42次

上一篇: Oracle字符集查看

下一篇:PostgreSQL缓存