日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MyBatis无限输出日志

發(fā)布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyBatis无限输出日志 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近在項目中使用mybatis與spring集成,由于項目使用maven分模塊打包,經常遇到mybatis mapper少配置子模塊或者maven pom中忘記引用子模塊導致的mybatis加載不到dao或mapper啟動不起來,直接卡死。其實這是mybatis一個bug,在sqlSessionFactory加載的時候沒有找到mapper或者dao,mybatis沒有把異常拋出。
解決方法就是自己寫個sqlSessionFactory拋出異常,替代org.mybatis.spring.SqlSessionFactoryBean。新建一個FixedSqlSessionFactory,集成SqlSessionFactoryBean重寫buildSqlSessionFactory(),捕捉異常并且拋出。

簡單點的方法就是在org.mybatis.spring.SqlSessionFactoryBean類中buildSqlSessionFactory方法中,如下位置打一個斷點進行調試,查看控制臺的e變量,不知道啥原因var20監(jiān)視不了,只能看e,拷貝出來就可以看到具體出錯的原因了

try {XMLMapperBuilder xmlMapperBuilder = new XMLMapperBuilder(mapperLocation.getInputStream(), configuration, mapperLocation.toString(), configuration.getSqlFragments());xmlMapperBuilder.parse();} catch (Exception var20) {throw new NestedIOException("Failed to parse mapping resource: '" + mapperLocation + "'", var20);} finally {ErrorContext.instance().reset();}

?

如果自定義sql工廠進行捕捉,可以如下實現(xiàn)需要注意的是,一定要使用

import org.mybatis.spring.SqlSessionFactoryBean; public class FixedSqlSessionFactory extends SqlSessionFactoryBean{ @Override protected SqlSessionFactory buildSqlSessionFactory() throws IOException { try { return super.buildSqlSessionFactory(); }catch (Exception e){ e.printStackTrace(); }finally { ErrorContext.instance().reset(); } return null; } }

而在spring的sqlSessionFactory配置中,class要寫我們的FixedSqlSessionFactory

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:mybatis-mapper-config.xml"/> </bean>

改寫完成后,再重啟項目,就可以看到由于沒引入mapper產生的異常了,這里拋出的異常可能不只因為mapper沒引入,也有其他原因,具體錯誤具體解決。

轉載于:https://www.cnblogs.com/javabg/p/8269705.html

總結

以上是生活随笔為你收集整理的MyBatis无限输出日志的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。