程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> SpringMVC+Mybatis架構中的問題記錄

SpringMVC+Mybatis架構中的問題記錄

編輯:C++入門知識

SpringMVC+Mybatis架構中的問題記錄


2014/08/16 記錄

今天遇到個問題,折騰了我大約4個小時,好坑啊因為之前沒遇到過

我的包是這麼分的:com.工程名.模塊名.service.impl 在spring 配置這個切面 execution(* com.工程名..*Impl.*(..)) 他 就是找不到com.工程名.模塊名.service.impl下面的*Impl類

並且此配置就算配錯了,他不報錯,並且當我同時用junit測試,同時加載三個配置文件 springMVC.xml spring.xml spring-mybatis.xml 它有正常,一旦通過web初始化就出問題,如果web同時加載三個文件也不會出問題,當他這樣配置時只會在日志文件中記錄如下:

DEBUG - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@15872f5] was not registered for synchronization because synchronization is not active
DEBUG - Fetching JDBC Connection from DataSource
DEBUG - JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@152f43b] will not be managed by Spring
DEBUG - ooo Using Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@152f43b]
DEBUG - ==> Preparing: select * from test where testid=?
DEBUG - ==> Parameters: 1(Integer)
DEBUG - <== Total: 1
DEBUG - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@15872f5]
DEBUG - Returning JDBC Connection to DataSource

當改成這樣 execution(* com.工程名..*.*(..)) 然後一切恢復正常;並且將這個execution 的工程名隨便改,他也不報錯,可以訪問數據庫,日志就像上面一樣

SqlSession 不能同步 連接代理不能被spring管理 並且他一樣能夠訪問數據庫,然後連接池還是有效,因為他的事務管理是失效的,所以不會回滾。所以對於我沒系統學習mybatis的來說,耗費多時,今天記錄一下,以防以後出錯 ,希望遇到這個問題的開發者注意

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved