MyBatis-Plus如何解决主键自增问题
MyBatis-Plus主键自增失败
1、先看错误
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5c731754]
2022-12-05 21:05:55.322 ERROR 17476 --- [nio-8989-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException:
### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column 'id' at row 1
### The error may exist in com/baidu/mapper/SysAccountMapper.java (best guess)
### The error may involve com.baidu.mapper.SysAccountMapper.insert-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO account ( id, datatime ) VALUES ( ?, ? )
### Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column 'id' at row 1
; Data truncation: Out of range value for column 'id' at row 1; nested exception is com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column 'id' at row 1] with root causecom.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column 'id' at row 1
大概意思就是说,mybatis-plus添加数据的主键失败。
2、需求
想要数据库中添加数据,成自增的。
我明明在数据库设置了主键id自增,但是添加数据的时候没有自增那。
3、解决
1、在数据库中添加确保是自增。

2、在实体类上页添加自增

4、自增策略
- 要想主键自增需要配置如下主键策略
- 需要在创建数据表的时候设置主键自增
- 实体字段中配置 @TableId(type = IdType.AUTO)
MyBatis-Plus插入后获取自增主键
1、在主键上的**@TableId注解增加属性 type**。

2、设置之后,在调用mapper.insert(domain)方法之后,插入完成后,直接能从domain中取到最新的主键。

结果如下:

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
java Hibernate save()与persist()区别
本文章来给各位同学介绍一下Hibernate save()与persist()区别,希望此文章能对各位同学对于Hibernate save()与persist()有所理解2016-01-01
Spring很常用的@Conditional注解的使用场景和源码解析
今天要分享的是Spring的注解@Conditional,@Conditional是一个条件注解,它的作用是判断Bean是否满足条件,本文详细介绍了@Conditional注解的使用场景和源码,需要的朋友可以参考一下2023-04-04
5分钟快速学会spring boot整合JdbcTemplate的方法
这篇文章主要给大家介绍了如何通过5分钟快速学会spring boot整合JdbcTemplate的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring boot整合JdbcTemplate具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-12-12
SpringSecurity多认证器配置多模式登录自定义认证器方式
这篇文章主要介绍了SpringSecurity多认证器配置多模式登录自定义认证器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2025-04-04
浅谈Spring-cloud 之 sleuth 服务链路跟踪
本篇文章主要介绍了浅谈Spring-cloud 之 sleuth 服务链路跟踪,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-01-01


最新评论