mybatis批量插入出错,求解???

咖啡加糖_ 2014-10-22 03:44:06
配置文件如下:
<insert id="insertBatch" parameterType="java.util.List">
insert into VIS_CUST_SCENIC
( id,
name)
values
<foreach collection="orderList" item="order" index="index"
separator=", ">
(#{order.id,jdbcType=VARCHAR},
#{order.name,jdbcType=VARCHAR})
</foreach>
</insert>


但是错误信息提示sql语句出错:

insert into order ( id, name) values (?, ?) , (?, ?)

直接成循环了,网上找了不少,都说是这样配置的,不知道是不是少配置了什么东西~~~~~~


...全文
159 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
咖啡加糖_ 2014-10-22
  • 打赏
  • 举报
回复
搞定了,其实很简单,我发的是mysql上可以用的,oracle是不行的 <insert id="insertBatch" parameterType="java.util.List"> insert into VIS_CUST_SCENIC ( id, name) --这里去掉values <foreach collection="orderList" item="order" index="index" separator="union all "> (#{order.id,jdbcType=VARCHAR}, #{order.name,jdbcType=VARCHAR}) </foreach> </insert>
咖啡加糖_ 2014-10-22
  • 打赏
  • 举报
回复
忘了说了 我的数据库是oracle......
咖啡加糖_ 2014-10-22
  • 打赏
  • 举报
回复
引用 1 楼 maihao110 的回复:
<insert id="insertBatch" parameterType="java.util.List"> insert into VIS_CUST_SCENIC ( id, name) values <foreach collection="orderList" item="order" index="index" separator=", "> (#{order.id}, #{order.name}) </foreach> </insert>
不是这个原因,奇怪会直接循环?可能是少配置了什么 我的dao里面的方法是: public void insertBatch(@Param("orderList") List<orderList> orderList) ;
  • 打赏
  • 举报
回复
<insert id="insertBatch" parameterType="java.util.List"> insert into VIS_CUST_SCENIC ( id, name) values <foreach collection="orderList" item="order" index="index" separator=", "> (#{order.id}, #{order.name}) </foreach> </insert>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧