MyBatis 3的Bug

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/6292719 MyBatis 3的Bug作者:chszs转载请注明出处!版本:MyBatis 3.0.4Bug为:插入语句不能正确返回自增字段的值。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/6292719

MyBatis 3的Bug

作者:chszs

转载请注明出处!

版本:MyBatis 3.0.4
Bug为:插入语句不能正确返回自增字段的值。

MySQL数据库脚本:
CREATE TABLE `worker` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `pin` varchar(64) DEFAULT NULL,
  `firstname` varchar(64) DEFAULT NULL,
  `lastname` varchar(64) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
对应的sqlmap映射
<insert id="addWorker" parameterType="Worker" useGeneratedKeys="true" keyProperty="id">
  	<selectKey resultType="int" keyProperty="id" order="AFTER"> 
		select LAST_INSERT_ID() as value
	</selectKey>
	insert into worker (pin, firstname, lastname) 
  values (#{pin}, #{firstname}, #{firstname}) 
</insert> 
对应的实体类Worker.java、DAO、接口、配置等通通省略......
执行的结果是只能返回1,得不到真正想要的自增字段的值。
————————————————
目前对此Bug的替代性的解决方法是:
专门为取ID进行配置:
<select id="getWorkerId" resultType="int" >
    select LAST_INSERT_ID()
</select>
相当于执行了两条SQL语句才取得所需的ID值。[e01]
目录
相关文章
|
SQL 缓存 前端开发
java枚举触发了Mybatis Plus的BUG折腾了我三个小时,怀疑人生
java枚举触发了Mybatis Plus的BUG折腾了我三个小时,怀疑人生
903 0
java枚举触发了Mybatis Plus的BUG折腾了我三个小时,怀疑人生
|
Java 数据库连接 mybatis
MyBatis惊天bug!居然将字符串解析成数值类型!
MyBatis惊天bug!居然将字符串解析成数值类型!
333 0
MyBatis惊天bug!居然将字符串解析成数值类型!
|
SQL Java 数据库连接
Mybatis order by 动态传参出现的一个小bug
Mybatis order by 动态传参出现的一个小bug
211 0
Mybatis order by 动态传参出现的一个小bug
|
关系型数据库 Java 数据库连接
MyBatis 3的Bug
MyBatis 3的Bug 作者:chszs 转载请注明出处! 版本:MyBatis 3.0.4 Bug为:插入语句不能正确返回自增字段的值。
795 0
|
Java 数据库连接 mybatis
MyBatis 3的自增ID的Bug(续)
MyBatis 3的自增ID的Bug(续)   作者:chszs 转载请注明出处! 自上次我提出MyBatis 3的Bug之后,见:http://blog.
908 0
|
Java 数据库连接 Apache
MyBatis 3的自增ID的Bug(续)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/6324505 MyBa...
960 0
|
2月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
145 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
2月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
73 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
2月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
501 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
2月前
|
SQL Java 数据库连接
mybatis使用二:springboot 整合 mybatis,创建开发环境
这篇文章介绍了如何在SpringBoot项目中整合Mybatis和MybatisGenerator,包括添加依赖、配置数据源、修改启动主类、编写Java代码,以及使用Postman进行接口测试。
26 0
mybatis使用二:springboot 整合 mybatis,创建开发环境
下一篇
DataWorks