mybatis?resultMap沒有全部對應(yīng)的字段處理方式
resultMap沒有全部對應(yīng)的字段處理
記錄說明
在使用mybatis的時候,使用mapper將表記錄和實體對應(yīng)起來的方法大概有:resultType和resultMap兩種。
resultType
,直接指定需要封裝的實體,mybatis會利用反射,將數(shù)據(jù)庫中字段對應(yīng)到實體中的屬性,對應(yīng)規(guī)則是:下劃線 對應(yīng)為 駝峰,如:user_phone對應(yīng)到userPhone。resultMap
,比上面的方法靈活一些,可以自己指定對應(yīng)。
現(xiàn)在碰到的問題是:只有幾個特殊的字段由于數(shù)據(jù)庫字段和實體名字對應(yīng)不上,需要手動寫,但是其他大部分的屬性和字段都是能正確對應(yīng)的。如果我用resultMap,只寫那幾個特殊字段的對應(yīng)關(guān)系,其他的字段能正確映射封裝嗎?意思就是:
我的實體是這樣的
但是我的resultMap是這樣的
只對應(yīng)了四個字段,其他的字段我都沒有手動映射,能正確封裝進(jìn)去嗎?
結(jié)論是:可以的,你指定規(guī)則的,就安裝指定規(guī)則來,如果沒有指定規(guī)則,就按照默認(rèn)的對應(yīng)規(guī)則來.
大坑之 resultMap = Long
出現(xiàn)at com.sun.proxy.$Proxy28.selectList(Unknown Source)
原因是 resultMap = long 了
resultType="Long"
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java里得到00:00:00格式的時分秒的Timestamp
Java里如何得到00:00:00格式的時分秒的Timestamp ,下面是具體的實現(xiàn)代碼,需要的朋友可以參考下。2009-09-09Java中BufferedReader和BufferedWriter使用方式
這篇文章主要介紹了Java中BufferedReader和BufferedWriter使用方式,F(xiàn)ileWriter?類從?OutputStreamWriter?類繼承而來,BufferedReader?類從字符輸入流中讀取文本并緩沖字符,以便有效地讀取字符,數(shù)組和行2022-06-06IDEA創(chuàng)建SpringBoot項目整合mybatis時mysql-connector-java報錯異常的詳細(xì)分析
最近工作中發(fā)現(xiàn)了個錯誤,分享給同樣遇到這個問題的朋友,這篇文章主要給大家介紹了關(guān)于IDEA創(chuàng)建SpringBoot項目整合mybatis時mysql-connector-j報錯異常的詳細(xì)分析,需要的朋友可以參考下2023-02-02