欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決mybatis映射結(jié)果集失效的問題

 更新時間:2020年11月30日 15:50:00   作者:唯一昵稱真難  
這篇文章主要介紹了解決mybatis映射結(jié)果集失效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在開發(fā)中可能會遇到這樣的問題,使用mybatis進(jìn)行結(jié)果集與實(shí)體類之間的關(guān)系映射時,可能會出現(xiàn)某些屬性映射不上去的情況.

為了方便排查問題我們需要查看mybatis訪問數(shù)據(jù)庫SQL信息。

可以在配置Log4J:

log4j.logger.com.xxx.dao=TRACE
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
log4j.logger.java.sql=debug
log4j.logger.java.sql.Connection = DEBUG
log4j.logger.java.sql.ResultSet = DEBUG
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout

注意:log4j.logger.com.xxx.dao=TRACE,一定要加上,加上這句話就可以打印出你訪問數(shù)據(jù)庫返回的結(jié)果集,可以更加方便的找到問題的所在。這句話的中的com.xxx.dao代表的是mapperw文件的namespace。

解決方案一:

查看映射結(jié)果集的配置文件:

如果像上述的配置文件會出現(xiàn)問題,因?yàn)樵趐roperty后面的字符串出現(xiàn)了空格,在這種情況下,mybatis是無法映射的,它會認(rèn)為id空格 != id。于是返回默認(rèn)的對應(yīng)的規(guī)則,當(dāng)實(shí)體類中的屬性與表中的字段完全相同則可以默認(rèn)對應(yīng),當(dāng)出現(xiàn)_時無法對應(yīng),這時,就會產(chǎn)生有的字段可以映射有的字段不可以映射的情況。所以我們必須檢查是否出現(xiàn)空格。

修改配置文件如下:

解決方案二:

直接為結(jié)果集取別名,將返回的結(jié)果集全部取別名,跟實(shí)體類的屬性保持一致,這樣就能完整的映射。

補(bǔ)充知識:關(guān)于mybatis mapper.xml中 sql使用 in 執(zhí)行失敗的原因

mapper.xml傳參如果下

user_obj_id in ( #{ids})

最終執(zhí)行的sql拼接如下

user_obj_id in ( ‘55,56,57' )

而不是期望的

user_obj_id in ( ‘55',‘56',‘58' )

以上這篇解決mybatis映射結(jié)果集失效的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Jackson反序列化@JsonFormat 不生效的解決方案

    Jackson反序列化@JsonFormat 不生效的解決方案

    這篇文章主要介紹了Jackson反序列化@JsonFormat 不生效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 關(guān)于Java日期工具類的編寫

    關(guān)于Java日期工具類的編寫

    這篇文章主要介紹了關(guān)于Java日期工具類的編寫,在Java開發(fā)中,經(jīng)常會遇到處理日期相關(guān)的數(shù)據(jù),那么今天我們來自己寫一個工具類,文中有詳細(xì)的實(shí)例代碼以及實(shí)現(xiàn)思路,需要的朋友可以參考下
    2023-05-05
  • Mybatis關(guān)聯(lián)映射舉例詳解

    Mybatis關(guān)聯(lián)映射舉例詳解

    關(guān)聯(lián)關(guān)系是面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)最終的思想,Mybatis完全可以理解這種關(guān)聯(lián)關(guān)系,如果關(guān)系得當(dāng),Mybatis的關(guān)聯(lián)映射將可以大大簡化持久層數(shù)據(jù)的訪問
    2022-07-07
  • 二叉樹基本操作之遞歸和非遞歸遍歷、分支節(jié)點(diǎn)數(shù)詳解

    二叉樹基本操作之遞歸和非遞歸遍歷、分支節(jié)點(diǎn)數(shù)詳解

    這篇文章主要介紹了二叉樹基本操作之遞歸和非遞歸遍歷、分支節(jié)點(diǎn)數(shù)詳解,二叉樹是由n(n>=0)個結(jié)點(diǎn)的有限集合構(gòu)成,此集合或者為空集,或者由一個根結(jié)點(diǎn)及兩棵互不相交的左右子樹組成,并且左右子樹都是二叉樹,需要的朋友可以參考下
    2023-09-09
  • java 中模式匹配算法-KMP算法實(shí)例詳解

    java 中模式匹配算法-KMP算法實(shí)例詳解

    這篇文章主要介紹了java 中模式匹配算法-KMP算法實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Java中注解與原理分析詳解

    Java中注解與原理分析詳解

    注解即標(biāo)注與解析,在Java的代碼工程中,注解的使用幾乎是無處不在,甚至多到被忽視。本文就來和大家詳細(xì)說說Java中注解的原理與實(shí)現(xiàn),需要的可以參考一下
    2022-11-11
  • 最新評論