我試圖在數據庫中插入一個列表,但我得到了一些錯誤:org.springframework.jdbc.BadSqlGrammarException:SqlSession操作;錯誤的SQL語法[];嵌套異常是java.sql.SQLException:ORA-00913:值太多(...)。使用MyBatis插入對象列表3
,我用的代碼:
<insert id="insertListMyObject" parameterType="java.util.List" >
INSERT INTO my_table
(ID_ITEM,
ATT1,
ATT2)
VALUES
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item.idItem, jdbcType=BIGINT},
#{item.att1, jdbcType=INTEGER},
#{item.att2, jdbcType=STRING}
</foreach>
</insert>
吾道CALS的方法:
SqlSessionTemplate().insert(MAPPER+".insertListMyObject", parameterList);
凡PARAMETERLIST是:
List<MyObjects>.
是否有人有一個關於線索這個錯誤是什麼?或者如果確實存在更好的方式來執行多重插入操作。
非常感謝!
在我的情況下,我相信useGeneratedKeys =「true」爲foreach中的項目創建自動ID。是否有可能檢索這些新的ID? – aloplop85 2013-07-17 14:16:45