Mybatis出現:無效的列類型: 1111 錯誤


在使用Mybatis時,不同的xml配置文件,有的會提示:無效的列類型: 1111

比如這個sql:

update base.sys_person t
                 set t.rybh=#{rybh},t.xm=#{xm},t.ryzt=#{ryzt},t.sfzhm=#{sfzhm},t.xb=#{xb},t.sj=#{sj},t.yx=#{yx},t.jtzz=#{jtzz},t.bz=#{bz},t.csrq=#{csrq}
             where t.ryid=#{ryid}

 

在csrq有值時不會報錯,csrq為空時會報上述錯誤:

 

原因時什么呢?官方文檔顯示:

image

 

這句話的意思是,如果對一個屬性字段,需要傳遞null值,(尤其是Date,int等類型時),JDBCType是必要的。(我覺得為了不出錯,每個字段都寫也是可以的)。

 

那好,根據上述文字修改:

update base.sys_person t
                 set t.rybh=#{rybh},t.xm=#{xm},t.ryzt=#{ryzt},t.sfzhm=#{sfzhm},t.xb=#{xb},t.sj=#{sj},t.yx=#{yx},t.jtzz=#{jtzz},t.bz=#{bz},t.csrq=#{csrq,jdbcType=TIMESTAMP}
             where t.ryid=#{ryid}

 

問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM