mybatis数组越界异常
今天在做数据库迁移时遇到这个问题:Error preparing statement. Cause: java.lang.ArrayIndexOutOfBoundsException: 8 异常 ,数据库是从mysql迁移到oracle,更改了表字段类型及函数外,在测试中发现了这样一个问题,由于系统每次登陆登出时会记录登入者信息,结果在插入日志表中出现了这个问题,报错mybatis数据越界,仔细检查后发现mapper.xml中sql没有问题,但是原来是mysql开启了主键自增,由于oracle的自增主键是通过selectKey标签实现的,想着会不会是这里的问题,就把mybatis的配置文件中的 设置为false,再测试就成功了,我去。。。
报错图片:
mybatis配置文件:
百度之后,原来:
useGeneratedKeys 要求数据库本身具备主键自动增长的功能,比如说,mysql,sqlserver可以使用useGeneratedKeys =true 这功能,不支持主键自动增长的数据库是不能使用useGeneratedKeys =true的