H2數據庫 批量更新單元測試踩的坑記錄

在使用mybatis做 batchupdate操作時,在mysql測試成功;

換成H2數據庫就變成了 Mybatis拋異常

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='__frch_item_1.dailyAmount', mode=IN, javaType=class java.math.BigDecimal, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #5 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: org.h2.jdbc.JdbcSQLException: Invalid value "5" for parameter "parameterIndex" [90008-196]
 

是不是感覺很詭異,然後各種查字段對比類型,還是無果。

本來用兩條進行測試的,結果改成一條數據測試竟然成功了。

從網上查了下原因說: H2不支持批量更新操作,但是支持批量插入。

我自己的總結就是:要麼拿一條數據更新測試一下,要麼就換其他的方法( 網上查用PostgreSQL ,具體還不瞭解 )。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章