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

解決mybatisplus插入報(bào)錯(cuò)argument type mismatch的問題

 更新時(shí)間:2020年11月25日 11:11:53   作者:代碼荷爾蒙  
這篇文章主要介紹了解決mybatisplus插入報(bào)錯(cuò)argument type mismatch的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

今天使用argument type mismatch發(fā)現(xiàn)插入的時(shí)候報(bào)錯(cuò)

java.lang.IllegalArgumentException: argument type mismatch

從錯(cuò)誤中看是參數(shù)的問題,想到我再實(shí)體類里面定義了幾個(gè)在數(shù)據(jù)庫中沒有的字段,就使用了

@TableField(exist = false)

來排除掉這個(gè)字段。

再跑發(fā)現(xiàn)還是這個(gè)錯(cuò)誤,后來看了下主鍵的@TableId默認(rèn)的type是IdType.NONE,想想我們應(yīng)該用自增的id就手動(dòng)增加了一個(gè)

@TableId(type = IdType.AUTO)

果然,再插入的時(shí)候就可以了。

剛使用mybatisplus,還不熟悉,都是路障啊。哎~

補(bǔ)充知識(shí):Mybatis自定義DAO層時(shí)踩的坑

自定義Mybatis時(shí)出現(xiàn),數(shù)據(jù)類型不匹配的異常

java.lang.RuntimeException: java.lang.IllegalArgumentException: argument type mismatch。。。

for (int i = 1; i <= columnCount; i++) {
          //獲取每列的名稱,列名的序號(hào)是從1開始的
          String columnName = rsmd.getColumnName(i);
          //根據(jù)得到列名,獲取每列的值
          Object columnValue = rs.getObject(columnName);
          System.out.println(columnValue.getClass().getSimpleName());
          //給obj賦值:使用Java內(nèi)省機(jī)制(借助PropertyDescriptor實(shí)現(xiàn)屬性的封裝)
          PropertyDescriptor pd = new PropertyDescriptor(columnName,domainClass);//要求:實(shí)體類的屬性和數(shù)據(jù)庫表的列名保持一種
          //獲取它的寫入方法
          Method writeMethod = pd.getWriteMethod();
          //把獲取的列的值,給對(duì)象賦值
          writeMethod.invoke(obj,columnValue);
        }
        //把賦好值的對(duì)象加入到集合中
        list.add(obj);

這種情況是因?yàn)閿?shù)據(jù)庫中定義的類型在運(yùn)行時(shí)不一定就是那個(gè)類型,例如你用int型定義的字段,但是在取出來的值卻是別的類型,這個(gè)時(shí)候建議打印一下字段類型,然后在相應(yīng)的實(shí)體類中修改類型即可。

最好不要直接用object賦值,使用map會(huì)好一些。

以上這篇解決mybatisplus插入報(bào)錯(cuò)argument type mismatch的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實(shí)現(xiàn)掃雷游戲詳細(xì)代碼講解

    Java實(shí)現(xiàn)掃雷游戲詳細(xì)代碼講解

    windows自帶的游戲《掃雷》是陪伴了無數(shù)人的經(jīng)典游戲,本文將利用Java語言實(shí)現(xiàn)這一經(jīng)典的游戲,文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下
    2022-05-05
  • IDEA神器一鍵查看Java字節(jié)碼及其他類信息插件

    IDEA神器一鍵查看Java字節(jié)碼及其他類信息插件

    這篇文章主要為大家介紹了一款I(lǐng)DEA神器,可以一鍵查看Java字節(jié)碼及其他類信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-01-01
  • Java獲取文件的hash值(SHA256)兩種方式

    Java獲取文件的hash值(SHA256)兩種方式

    這篇文章主要給大家介紹了關(guān)于Java獲取文件hash值(SHA256)的兩種方式,SHA256是一種哈希算法,它是不可逆的,也就是說無法解密,需要的朋友可以參考下
    2023-09-09
  • java實(shí)現(xiàn)簡易撲克牌游戲

    java實(shí)現(xiàn)簡易撲克牌游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡易撲克牌游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 詳解IntelliJ IDEA 中如何配置多個(gè)jdk版本即(1.7和1.8兩個(gè)jdk都可用)

    詳解IntelliJ IDEA 中如何配置多個(gè)jdk版本即(1.7和1.8兩個(gè)jdk都可用)

    這篇文章主要介紹了詳解IntelliJ IDEA 中如何配置多個(gè)jdk版本即(1.7和1.8兩個(gè)jdk都可用),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-11-11
  • SpringBoot使用Swagger范例講解

    SpringBoot使用Swagger范例講解

    Swagger是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 Restful 風(fēng)格的 Web 服務(wù)??傮w目標(biāo)是使客戶端和文件系統(tǒng)作為服務(wù)器以同樣的速度來更新。文件的方法、參數(shù)和模型緊密集成到服務(wù)器端的代碼,允許API來始終保持同步
    2022-07-07
  • SpringCloud之Zuul網(wǎng)關(guān)原理及其配置講解

    SpringCloud之Zuul網(wǎng)關(guān)原理及其配置講解

    這篇文章主要介紹了SpringCloud之Zuul網(wǎng)關(guān)原理及其配置講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java.security.egd?作用詳解

    java.security.egd?作用詳解

    這篇文章主要為大家介紹了java.security.egd作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • SpringBoot2整合Ehcache組件實(shí)現(xiàn)輕量級(jí)緩存管理

    SpringBoot2整合Ehcache組件實(shí)現(xiàn)輕量級(jí)緩存管理

    EhCache是一個(gè)純Java的進(jìn)程內(nèi)緩存框架,具有快速、上手簡單等特點(diǎn),是Hibernate中默認(rèn)的緩存提供方。本文講述下SpringBoot2 整合Ehcache組件的步驟
    2021-06-06
  • Java中ArrayList與順序表的概念與使用實(shí)例

    Java中ArrayList與順序表的概念與使用實(shí)例

    順序表是指用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)各個(gè)元素,使得在邏輯結(jié)構(gòu)上相鄰的數(shù)據(jù)元素存儲(chǔ)在相鄰的物理存儲(chǔ)單元中的線性表,下面這篇文章主要介紹了Java?ArrayList與順序表的相關(guān)資料,需要的朋友可以參考下
    2022-01-01

最新評(píng)論