亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mybatis一直加載xml,找到錯(cuò)誤的解決方案

 更新時(shí)間:2022年02月08日 11:25:01   作者:hwsdau  
這篇文章主要介紹了mybatis一直加載xml,找到錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis一直加載xml,找到錯(cuò)誤

我們?cè)趯憇pringmvc+mybatis項(xiàng)目,啟動(dòng)項(xiàng)目的時(shí)候,mapper配置文件一直刷,一直加載。。。。。

對(duì)于我們偉大的程序猿來(lái)說(shuō)這并不可怕,可怕的是沒(méi)有錯(cuò)誤打印出來(lái)。。。。。完全不知道如何下手啊,

今天終于找到了一種解決方法

找到org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 類,在下面方法:

?? ?protected void autowireByType(
?? ??? ??? ?String beanName, AbstractBeanDefinition mbd, BeanWrapper bw, MutablePropertyValues pvs) {
?? ??? ??? ?catch (BeansException ex) {
?? ??? ??? ??? ?throw new UnsatisfiedDependencyException(mbd.getResourceDescription(), beanName, propertyName, ex);
?? ??? ??? ?}

在throw這一行斷點(diǎn)即可,這個(gè)地方是最早捕獲異常的地方,當(dāng)Mapper.xml文件出錯(cuò)的時(shí)候,會(huì)有異常信息輸出。

還有一個(gè)問(wèn)題,為什么出錯(cuò)后只能看到無(wú)限輸出的一行日志,而看不到這里具體的異常信息呢?

通過(guò)追蹤代碼,發(fā)現(xiàn)在org.springframework.beans.factory.support.AbstractBeanFactory類中的方法:

protected Class<?> getTypeForFactoryBean(String beanName, RootBeanDefinition mbd) {
? ? if (!mbd.isSingleton()) {
? ? ? ? return null;
? ? }
? ? try {
? ? ? ? FactoryBean<?> factoryBean = doGetBean(FACTORY_BEAN_PREFIX + beanName, FactoryBean.class, null, true);
? ? ? ? return getTypeForFactoryBean(factoryBean);
? ? }
? ? catch (BeanCreationException ex) {
? ? ? ? // Can only happen when getting a FactoryBean.
? ? ? ? if (logger.isDebugEnabled()) {
? ? ? ? ? ? logger.debug("Ignoring bean creation exception on FactoryBean type check: " + ex);
? ? ? ? }
? ? ? ? onSuppressedException(ex);
? ? ? ? return null;
? ? }
}

這里捕獲異常后,直接 return null導(dǎo)致異常被吞。 

mybatis延遲加載(xml)

對(duì)于一對(duì)一和多對(duì)一(mybatis映射為一對(duì)一)。查詢的時(shí)候一起查詢即可。

但是對(duì)于一對(duì)多,和多對(duì)多。也許那個(gè)多對(duì)應(yīng)的數(shù)據(jù)很多,而我們不需要那個(gè)多。那么一起查詢會(huì)浪費(fèi)性能資源。

所以,mybatis有懶加載。

mysql默認(rèn)是立即加載。

懶加載在Collection或者association屬性中有一個(gè)fetchType屬性,eager立即加載。lazy懶加載。

在mybatis的配置文件中

<settings>
? ? ? ? <!--延遲加載總開(kāi)關(guān)-->
? ? ? ? <setting name="lazyLoadingEnabled" value="true"/>
? ? ? ? <!--侵入式延遲加載開(kāi)關(guān)-->
? ? ? ? <!--3.4.1版本之前默認(rèn)是true,之后默認(rèn)是false-->
? ? ? ? <setting name="aggressiveLazyLoading" value="false"/>
?<!--如果不寫這個(gè),可能有問(wèn)題-->
? ? ? ? <setting name="lazyLoadTriggerMethods" value=""/>
? ? </settings>

即可。 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 微信公眾號(hào)獲取access_token的方法實(shí)例分析

    微信公眾號(hào)獲取access_token的方法實(shí)例分析

    這篇文章主要介紹了微信公眾號(hào)獲取access_token的方法,結(jié)合實(shí)例形式分析了java實(shí)現(xiàn)微信公眾號(hào)獲取access_token的相關(guān)原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • Spring Boot2.0 @ConfigurationProperties使用詳解

    Spring Boot2.0 @ConfigurationProperties使用詳解

    這篇文章主要介紹了Spring Boot2.0 @ConfigurationProperties使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Spring Cloud動(dòng)態(tài)配置刷新RefreshScope使用示例詳解

    Spring Cloud動(dòng)態(tài)配置刷新RefreshScope使用示例詳解

    這篇文章主要為大家介紹了Spring Cloud動(dòng)態(tài)配置刷新RefreshScope使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Java編譯時(shí)類型與運(yùn)行時(shí)類型

    Java編譯時(shí)類型與運(yùn)行時(shí)類型

    這篇文章主要介紹了Java編譯時(shí)類型與運(yùn)行時(shí)類型,文章以父類BaseClass和子類SubClass為例展開(kāi)對(duì)主題的探討,具有一的?參考價(jià)值,需要的小伙伴可以參考一下
    2022-03-03
  • JPA之EntityManager踩坑及解決:更改PersistenceContext

    JPA之EntityManager踩坑及解決:更改PersistenceContext

    這篇文章主要介紹了JPA之EntityManager踩坑及解決:更改PersistenceContext方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java異常分類處理拋出捕獲操作詳解

    Java異常分類處理拋出捕獲操作詳解

    異常就是不正常,比如當(dāng)我們身體出現(xiàn)了異常我們會(huì)根據(jù)身體情況選擇喝開(kāi)水、吃藥、看病、等 異常處理方法。 java異常處理機(jī)制是我們java語(yǔ)言使用異常處理機(jī)制為程序提供了錯(cuò)誤處理的能力,程序出現(xiàn)的錯(cuò)誤,程序可以安全的退出,以保證程序正常的運(yùn)行等
    2022-09-09
  • Java NIO實(shí)戰(zhàn)之聊天室功能詳解

    Java NIO實(shí)戰(zhàn)之聊天室功能詳解

    這篇文章主要介紹了Java NIO實(shí)戰(zhàn)之聊天室功能,結(jié)合實(shí)例形式詳細(xì)分析了java NIO聊天室具體的服務(wù)端、客戶端相關(guān)實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • 純注解版spring與mybatis的整合過(guò)程

    純注解版spring與mybatis的整合過(guò)程

    這篇文章主要介紹了純注解版spring與mybatis的整合過(guò)程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Kotlin + Retrofit + RxJava簡(jiǎn)單封裝使用詳解

    Kotlin + Retrofit + RxJava簡(jiǎn)單封裝使用詳解

    這篇文章主要介紹了Kotlin + Retrofit + RxJava簡(jiǎn)單封裝使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • ruoyi-springboot框架新增模塊調(diào)接口報(bào)404的解決方案

    ruoyi-springboot框架新增模塊調(diào)接口報(bào)404的解決方案

    這篇文章主要介紹了ruoyi-springboot框架新增模塊調(diào)接口報(bào)404的解決方案,文中通過(guò)代碼示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03

最新評(píng)論