5分鐘學會mybatis-批量更新異常處理及問題解決
阿新 • • 發佈:2018-11-15
mybatis系列-批量更新異常處理及問題解決
用過mybatis的猿友也許使用過它的批量操作(可以參考5分鐘學會mybatis-批量更新),但是其實這個地方有個比較坑爹的問題,如下:
這裡為我的對映檔案對應的sql
<update id="testBatchUpd" parameterType="java.util.Map"> <foreach collection="dmsProdSkuStocks" item="item" separator=";"> UPDATE dms_prod_sku_stock SET STOCK = #{item.stock} WHERE SKU_RELATE_ID = #{item.skuRelateId} </foreach> </update>
仔細觀察,也沒發現有什麼問題,但是去呼叫介面執行的時候,程式總是會報出一個錯誤
org.springframework.jdbc.BadSqlGrammarException:
將其輸出的sql放到sqlyog裡面執行,也可以成功執行,很難定位問題所在何處。
原來用mybatic 批量操作必須加上引數&allowMultiQueries=true
這引數意思是允許多個查詢。
這樣就可以放心得使用mybatis的批量操作了!