mybatis BaseMapper int insert(T entity) 方法异常

摘要:
//此方法报告错误。可疑的jdbc-jar包包含一个bug。超过8个属性将报告数组溢出异常。因为该值取自属性下标,而不是属性名称,所以当属性为空时,可以防止类型识别错误;原因
//该方法报错,猜测的jdbc jar包有bug,属性超过8个会报数组溢出异常,因为是使用属性下标取值,不是根据属性名称取值
// 使用ojdbc6 11.2.0.2.0,估计jar包有问题
// 解决办法1:实体类实现序列话接口Serializable,并生成序列化id
// 解决办法2:改用xml写sql语句,指定jdbcType,防止属性为空时不能识别类型报错
int insert(T entity);

Caused by: java.lang.ArrayIndexOutOfBoundsException: 13
at oracle.jdbc.driver.OracleSql.computeBasicInfo(OracleSql.java:950) ~[ojdbc6-11.2.0.1.0.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
at oracle.jdbc.driver.OracleSql.getSqlKind(OracleSql.java:623) ~[ojdbc6-11.2.0.1.0.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:1212) ~[ojdbc6-11.2.0.1.0.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
at oracle.jdbc.driver.T4CPreparedStatement.<init>(T4CPreparedStatement.java:28) ~[ojdbc6-11.2.0.1.0.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
at oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:68) ~[ojdbc6-11.2.0.1.0.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3140) ~[ojdbc6-11.2.0.1.0.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3042) ~[ojdbc6-11.2.0.1.0.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:6022) ~[ojdbc6-11.2.0.1.0.jar:Oracle JDBC Driver version - "11.1.0.7.0-Production"]
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:685) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.wall.WallFilter.connection_prepareStatement(WallFilter.java:343) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:681) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.FilterAdapter.connection_prepareStatement(FilterAdapter.java:962) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.FilterEventAdapter.connection_prepareStatement(FilterEventAdapter.java:176) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:681) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.prepareStatement(ConnectionProxyImpl.java:366) ~[druid-1.1.10.jar:1.1.10]
at com.alibaba.druid.pool.DruidPooledConnection.prepareStatement(DruidPooledConnection.java:485) ~[druid-1.1.10.jar:1.1.10]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_251]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_251]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_251]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_251]
at org.apache.ibatis.logging.jdbc.ConnectionLogger.invoke(ConnectionLogger.java:55) ~[mybatis-3.5.0.jar:3.5.0]
at com.sun.proxy.$Proxy235.prepareStatement(Unknown Source) ~[na:na]
at org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:83) ~[mybatis-3.5.0.jar:3.5.0]
at org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88) ~[mybatis-3.5.0.jar:3.5.0]
... 98 common frames omitted

免责声明:文章转载自《mybatis BaseMapper int insert(T entity) 方法异常》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇DrawerLayout 设置为滑动范围全盘jmeter处理加密接口下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java之MyBatis

MyBatis中文文档:https://mybatis.org/mybatis-3/zh/index.htmlMyBatis是一款优秀的持久化框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动配置参数以及结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plain...

Mybatis 示例之 SelectKey(转)

参考:http://blog.csdn.net/isea533/article/details/21153791 SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。 不管SelectKey有多好,尽量不要遇到这种情况吧,毕竟很麻烦。   selectKey Attributes...

Mybatis常见疑问

1.在连接数据库时候,mysql是否支持fetchsize分页获取?   满足以下几个条件,可以使用fetchsize,根据游标获得记录   ①MySQL 从5.0.2开始支持分页获得.   ②同时需要在jdbc连接参数上配置 jdbc:mysql://localhost:3306/test?useCursorFetch=true   ③设置FetchSi...

SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)

1.前言 本文主要介绍使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例。 使用技术:SpringBoot、mybatis、shiro、thymeleaf、pagehelper、Mapper插件、druid、dataTables、ztree、jQuery 开发工具:intellij idea 数据库:mysql、red...

springBoot集成Mybatis generator

一、引入jar包 <!--boot整合mybatis的包 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-s...

SpringBoot添加对Mybatis的支持

1、修改maven配置文件pom.xml,添加对mybatis的支持: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-bo...