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 报错详解
一个很奇葩的报错,出错情况
在这里进行debug之后可以看到,异常在substring中:
也就是判断字符串的时候报错:具体原因就是string字符串indexof的值本身只有5,然后在这里去取其第100 个字符作为截止,因此就会报这个错;
知识点
主要是堆String概念不清。下面针对字符串相关概念(String、char、char[])做一个简介。
针对上述问题解决办法
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。