欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mybatis批量插入index out of range错误的解决(较偏的错误)

程序员文章站 2022-06-18 16:44:25
目录mybatis批量插入index out of range错误原因改进string index out of range: 100 报错详解一个很奇葩的报错,出错情况知识点针对上述问题解决办法my...

mybatis批量插入index out of range错误

往往我们看到网上关于各类关于批量插入报这种错误的文章都是传入的集合为null,或者是参数获取不对等等,但是在开发的时候同事遇到了这种类型的错误,我一直以为是网上那些博客那些原因造成的,于是,两只眼睛一直盯着代码看来许久都没有找出什么问题。那是什么问题呢?

原因

是由于项目中用的是sharding-jdbc来进行数据库连接,而sharding-jdbc是不支持sql语句的批量插入的。

改进

1.修改一下批量插入的的语句,这种比较鸡肋,可能会违背很多程序猿开发习惯

2.将连接数据源更换,将sharding-jdbc更换为com.alibaba.druid.pool.druiddatasource

string index out of range: 100 报错详解

一个很奇葩的报错,出错情况

Mybatis批量插入index out of range错误的解决(较偏的错误)

在这里进行debug之后可以看到,异常在substring中:

Mybatis批量插入index out of range错误的解决(较偏的错误)

也就是判断字符串的时候报错:具体原因就是string字符串indexof的值本身只有5,然后在这里去取其第100 个字符作为截止,因此就会报这个错;

知识点

主要是堆string概念不清。下面针对字符串相关概念(string、char、char[])做一个简介。

Mybatis批量插入index out of range错误的解决(较偏的错误)

针对上述问题解决办法

Mybatis批量插入index out of range错误的解决(较偏的错误)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。