Java Mybatis 多条更新语句

标签 java mybatis ibatis

Java Mybatis 甲骨文

我在 xml 文件中有以下 mybatis 语句

<update id="updateOfferIndex" parameterType="java.util.List">
   <foreach collection="list" item="offer"  index="index"  separator=";" >
        UPDATE  offer set indx=#{offer.idx} WHERE id=#{offer.eId}
    </foreach>

我遇到以下错误,有人可以帮忙吗?

### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

### The error may involve com.dao.linear.upsell.LinearUpsellDao.updateOfferIndex-Inline
### The error occurred while setting parameters
### SQL: UPDATE  offer set indx=? WHERE id=?   ;       UPDATE  offer set indx=? WHERE id=?
### Cause: java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

最佳答案

我通过以这种方式插入 BEGIN-END 语句来解决:

BEGIN
<foreach collection="list" item="offer"  index="index"  separator=";" >
        UPDATE  offer set indx=#{offer.idx} WHERE id=#{offer.eId}
</foreach>;
END;

我希望这能解决。

关于Java Mybatis 多条更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33372524/

相关文章:

c# - mybatis .NET 可以直接和Oracle ODP.NET 客户端一起使用吗?

java - 对象属性的 Hibernate 条件/查询

java - 从带有 'static' 变量的文本框中获取文本

java - MyBatis 选择生成器

ibatis - Spring jdbc 与 iBatis

java - 从java调用oracle存储过程时在mybatis映射器中映射多个输出参数

java - 如何告诉 Proguard 跨构建维护相同的混淆名称

java - 我可以在不硬编码大小的情况下将 ArrayList 中的 Java 值分配给不同的变量吗?

java - 如何使用mybatis按参数分组

java - 打开一个新的数据库连接或保持连接打开直到进程完成是好事吗?