最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis無法獲取帶有下劃線前綴的字段的值問題

 更新時間:2021年12月01日 15:54:42   作者:言曌博客  
這篇文章主要介紹了Mybatis無法獲取帶有下劃線前綴的字段的值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Mybatis無法獲取帶有下劃線前綴的字段的值

今天下面,把幾張表里的字段都加了前綴,如 article_id,article_title,acticle_content,article_status。

然后通過Mybatis-generator 生成了 po和mapper,替換后。

原本正常的網頁,這下數(shù)據(jù)全沒了。當時,很淡定,推測可能是哪里寫錯了,改改就好。但是就是這改改,改了幾個小時都沒成功,調試了很久。打斷點一直是顯示:All Element are null

后來,Ctrl+Z 撤銷所有修改,并把字段的前綴全部去掉。這時候,突然想到,之前有一次就是因為字段加了下劃線導致什么報錯,當時為了省事,就全改為沒有下劃線的。同時也關注到 Mybatis-generator 會把帶有下劃線的字段按照駝峰法命名,會不會是這里呢?

這時候,試了一下不帶下劃線和帶下劃線字段混合的表。

打了斷點,發(fā)現(xiàn)真相在這里

帶有下劃線的字段,都無法獲取值,不帶的則可以。

最終百度找到了解決方案。

這里感謝一下 valder fields

解決辦法

在mybatis-config.xml文件里配置

<configuration>
    <!-- 全局配置 -->
    <settings>
        <!--允許 JDBC 支持自動生成主鍵-->
        <setting name="useGeneratedKeys" value="false"/>
       <!--是否開啟自動駝峰命名規(guī)則(camel case)映射,即從經典數(shù)據(jù)庫列名 A_COLUMN 到經典
Java 屬性名 aColumn 的類似映射。 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>

Mybatis無法給帶有下劃線屬性賦值

1、配置問題

<!-- 是否開啟自動駝峰命名規(guī)則(camel case)映射, -->
<setting name="mapUnderscoreToCamelCase" value="true"/>

或者

//開啟駝峰映射
        bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);

mybatis配置文件設置了這項后,查詢出來的字段如果帶下劃線,那么就會去掉下劃線,然后采用java駝峰規(guī)則。比如數(shù)據(jù)庫字段Parent_id,那么查詢出來后,會轉為parentid,然后去實體類匹配對應的字段。 因為你實體類里有下劃線,所以匹配不上。要么采用resultMap 要么禁用掉駝峰規(guī)則(不建議禁用)。如果不想改實體類的話,建議采用resultMap。

2、增加set方法轉換值的方式

原實體類

    public class demo {  
      private String user_name;  
      private Striing pass_word;             
      public String getPass_word(){  
           return pass_word;  
      }  
      public void setPass_word(String pass_word){  
           this.pass_word=pass_word;  
      }       
    } 

原sql

select user_name,pass_word from demo;

這句sql在數(shù)據(jù)庫可以查到數(shù)據(jù),但是使用mybatis的實體類查詢就查不到了。

解決方法

在實體類中增加以下兩個set方法并把sql改為

select user_name as username,pass_word as password from demo;

使用實體類查詢數(shù)據(jù)庫實際上就是一個set的過程只需要把每個屬性增加一個set方法就好了

    public void setUsernaem(String user_name){  
          this.user_name=user_name;  
     }  
     public void setPassword(String pass_word){  
          this.pass_word=pass_word;  
     }  

僅適用于不方便改實體類的情況

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 關于Spring中的@Configuration中的proxyBeanMethods屬性

    關于Spring中的@Configuration中的proxyBeanMethods屬性

    這篇文章主要介紹了關于Spring中的@Configuration中的proxyBeanMethods屬性,需要的朋友可以參考下
    2023-07-07
  • springboot2學習世界著名程序springboot開發(fā)體驗

    springboot2學習世界著名程序springboot開發(fā)體驗

    這篇文章主要為大家介紹了世界著名程序springboot開發(fā)體驗,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • IDEA 2021版新建Maven、TomCat工程的詳細教程

    IDEA 2021版新建Maven、TomCat工程的詳細教程

    這篇文章主要介紹了IDEA 2021版新建Maven、TomCat工程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Java 中的vector和list的區(qū)別和使用實例詳解

    Java 中的vector和list的區(qū)別和使用實例詳解

    在大家還沒有了解vector,list,deque的知識之前,我先給大家介紹下stl,本文重點給大家介紹vector和list的區(qū)別及使用,感興趣的的朋友一起看看吧
    2017-09-09
  • JavaWeb Refresh響應頭代碼實例詳解

    JavaWeb Refresh響應頭代碼實例詳解

    這篇文章主要介紹了JavaWeb Refresh響應頭代碼實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • MybatisPlusInterceptor依賴變紅如何解決,無法識別問題

    MybatisPlusInterceptor依賴變紅如何解決,無法識別問題

    這篇文章主要介紹了MybatisPlusInterceptor依賴變紅如何解決,無法識別問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java基于JDBC實現(xiàn)事務,銀行轉賬及貨物進出庫功能示例

    Java基于JDBC實現(xiàn)事務,銀行轉賬及貨物進出庫功能示例

    這篇文章主要介紹了Java基于JDBC實現(xiàn)事務,銀行轉賬及貨物進出庫功能,較為詳細的分析了事務操作的原理、實現(xiàn)方法及java基于jdbc連接數(shù)據(jù)庫實現(xiàn)銀行事務操作的相關技巧,需要的朋友可以參考下
    2017-12-12
  • Java MD5加密工具類的方法(支持多參數(shù)輸入)

    Java MD5加密工具類的方法(支持多參數(shù)輸入)

    在實際開發(fā)過程中,MD5加密是一種常見的數(shù)據(jù)安全處理手段,常用于密碼存儲、數(shù)據(jù)完整性校驗等場景,這篇文章主要介紹了Java MD5加密工具類(支持多參數(shù)輸入),需要的朋友可以參考下
    2024-05-05
  • Spring Retry 重試實例詳解

    Spring Retry 重試實例詳解

    這篇文章主要介紹了Spring Retry 重試,使用方式有兩種分別是命令式和聲明式,本文通過實例代碼給大家詳細講解,需要的朋友可以參考下
    2022-10-10
  • Java中的@builder建造者模式詳細解析

    Java中的@builder建造者模式詳細解析

    這篇文章主要介紹了Java中的@builder建造者模式詳細解析,使用 @Builder 注解可以簡化手動編寫建造者模式的代碼,使代碼更加簡潔易讀,它可以自動生成鏈式調用的方法來設置對象的屬性,并且可以在需要時進行可選屬性的設置,需要的朋友可以參考下
    2024-01-01

最新評論

新巴尔虎左旗| 从江县| 海丰县| 宜川县| 孝感市| 肥西县| 榆中县| 石城县| 金川县| 浮山县| 正定县| 神池县| 大庆市| 水富县| 通化市| 孟连| 明光市| 化隆| 嘉禾县| 涪陵区| 富阳市| 西宁市| 高阳县| 汤原县| 通渭县| 临颍县| 沂源县| 惠州市| 绍兴市| 香河县| 长宁县| 九龙坡区| 大厂| 吉安市| 天峨县| 石屏县| 班玛县| 郸城县| 绥德县| 红桥区| 安康市|