mybatis 批量插入 decimal精度問題


問題:很簡單的批量插入數據庫,帶小數點的decimal的入參保存到數據庫發現自動四舍五入了
jdbcType=DECIMAL類型當list里面存在[{amount:20},{amount:20.4},{amount:20.54}]
   <foreach item="item" collection="list" separator=",">
#{item.amount,jdbcType=DECIMAL}
  </foreach>

  

 這時保存到數據的值:amount :20,20,21, 這就心態蹦了啊 線上一堆數據金額問題

生活仍需繼續排查:

表現:當一個list進行批量添加時,decimal 類型會取精度最小的那個值進行四舍五入

根因:暫未找到,感覺是mybatis的一個bug...

解決:

 cast(#{item.amount,jdbcType=DECIMAL} as decimal(18,4)),

  


免責聲明!

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



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