StringIndexOutOfBoundsException: String index out of range: 458

报错信息:

java 复制代码
org.springframework.dao.TransientDataAccessResourceException:
### Error updating database. Cause: java.sql.SQLException: java.lang.StringIndexOutOfBoundsException: String index out of range: 458
...
...
...

问题原因:

java 复制代码
 <insert id="batchInsert" parameterType="java.util.List" >
    insert into table_name (省略...)
    values
    <foreach collection="list" index="index" item="item" open="" separator="," close="">
      (
        省略...
      )
    </foreach>
  </insert>

<update id="batchUpdate" parameterType="xxx" >
   <foreach collection="list" index="index" item="item" open="" separator=";" close="">
        (
             update table_name set xxxx = #{xx,jdbcType=INTEGER}... where ...
                      省略...
        )
   </foreach>
   
  </update>

调用批量插入或更新操作时,如果list为null或者size()==0,导致此错误

解决方案:

调用批量操作前,判断list是否为null,或者size()==0,如果是则不调用批量操作。

相关推荐
宇卿.2 分钟前
Java中的while和do...while循环
java·开发语言
shangan_34 分钟前
JAVA思维提升案例3
java
等什么君!5 分钟前
JavaScript数据类型
开发语言·前端·javascript
洛文泽5 分钟前
application.yml和bootstrap.yml
java·spring boot·bootstrap·html
爱敲代码的小杨.11 分钟前
【Python】2. 变量和数据类型
开发语言·python
快乐就好ya13 分钟前
方法重写与多态
java
kuai-22 分钟前
MacOS配置python环境
开发语言·python·macos
lly20240625 分钟前
CSS 尺寸 (Dimension)
开发语言
procoder33826 分钟前
[C/C++开发]链接动态库在不同操作系统上的行为
c语言·开发语言·c++
沓沓78129 分钟前
java解决跨域问题时的403报错
java·后端