Mybatis批量插入index out of range错误的解决(较偏的错误)
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[])做一个简介。

针对上述问题解决办法

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot中使用Flyway进行数据库迁移的详细流程
本文介绍了如何在Spring Boot项目中使用Flyway进行数据库迁移,Flyway通过SQL脚本管理数据库变更,支持自动执行和版本控制,避免了手动执行SQL脚本的错误和维护困难,需要的朋友可以参考下2025-02-02
使用System.exit()来优雅地终止SpringBoot项目的代码示例
System.exit() 方法是 Java 中用于退出程序的方法,它接受一个整数参数,通常被用来指示程序的退出状态,本文给大家介绍了如何使用System.exit()来优雅地终止SpringBoot项目,需要的朋友可以参考下2024-08-08
关于SpringBoot集成Lettuce连接Redis的方法和案例
这篇文章主要介绍了关于SpringBoot集成Lettuce连接Redis的方法和案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-04-04


最新评论