【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错
【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错
- 报错记录
- 解决方案
- 推荐方案
- 使用uuid作为主键,修改id的类型为bigint
报错记录
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
在使用 mybatis-plus的insert方法,底层会默认生成一个Long类型的UUID,用这个作为主键id。这就导致跟数据库里面类型不一致导致错误。
解决方案
推荐方案
在主键上加上@TableId(value = "id",type = IdType.INPUT)
或@TableId(value = "id",type = IdType.AUTO)
// 这种方式是主键手动输入@TableId(value = "id",type = IdType.INPUT)private Long id;/** 主键生成方式类型如下(IdType):1.AUTO(0, “数据库ID自增”),2.INPUT(1, “用户输入ID”),3.ID_WORKER(2, “全局唯一ID”),4.UUID(3, “全局唯一ID”),5.NONE(4, “该类型为未设置主键类型”),6.ID_WORKER_STR(5, “字符串全局唯一ID”);**/
使用uuid作为主键,修改id的类型为bigint
【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错相关推荐
- 【踩坑记录】Tensorflow在Windows下使用
[踩坑记录]Tensorflow在Windows下使用 TensorFlow 是一个端到端开源机器学习平台 安装 pip3 install tensorflow 使用时报错如下 2021-04-21 ...
- HuaWei Atlas200 DK交叉编译踩坑记录
文章目录 HuaWei Atlas200 DK交叉编译踩坑记录 HuaWei Atlas200 DK交叉编译踩坑记录 由于需要用到OpenCV以及CV的一个特征提取的库vlfeat,并且MindStu ...
- mybatis学习与踩坑记录
mybatis resultmap高级映射 应用场景:如果sql查询的列名和pojo的属性名不一致,可以使用resultMap将列名和pojo的属性名作一个对应关系,就可以映射成功了.(如果返回值为i ...
- vue项目中将视频链接分享至推特的解决方法及踩坑记录
vue项目中将视频链接分享至推特的解决方法及踩坑记录 将动态改变的视频链接分享至推特,并希望能直接在推特上播放视频的需求实现方法及踩坑记录 如果只要将文本或链接分享到推特,不需要推特识别图片/视频等媒 ...
- 日常踩坑记录-汇总版
开发踩坑记录,不定时更新 心得 RTFM 严谨的去思考问题,处理问题 严格要求自己的代码编写习惯与风格 注意 单词拼写 20200207 mybatis plus 自带insert插入异常 sql i ...
- SpringBoot踩坑记录 Invalid bound statement (not found)引发的一些列问题
SpringBoot踩坑记录 Invalid bound statement (not found)引发的一些列问题 当你开开心心搭建了一个SpringBoot项目,用插件生成了entity.dao. ...
- 【mysql】 踩坑记录之derived(派生表)
文章目录 前言 出现的问题 如何解决 方法一:改写sql 方法二:改写sql 方法三:改写sql 前言 很多时候我们常常感觉到,不要你以为,mysql要它以为.记录派生表踩坑记录. 首先说明环境mys ...
- Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子
Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子 目录 Python打包工具Pyintealler打包py文件为windows exe文件过程 ...
- mysql 使用sum limit_mysql踩坑记录之limit和sum函数混合使用问题
问题复盘 本次复盘会用一个很简单的订单表作为示例. 数据准备 订单表建表语句如下(这里偷懒了,使用了自增ID,实际开发中不建议使用自增ID作为订单ID) CREATE TABLE `order` ( ...
最新文章
- 由于采用分时技术 用户可以独占计算机资源,计算机操作系统第1章练习题
- Winform可读取html语言,C# Winform 用WebBrowser实现 Html 编辑功能
- LeetCode 965. 单值二叉树
- linux cp后文件变大,使用 rsync 复制大文件的一些误解 | Linux 中国
- 【转载】java中Date与String的相互转化
- 七夕-探探小卡片鸿蒙版
- java 端口转发_用Java快速实现端口转发
- MVC之LayOut布局页
- 谷歌与军方合作新料:决定AI不用于武器前,还想帮军方搜集情报
- 单片机课程设计音乐盒c语言,单片机课程设计《数字音乐盒的设计》
- 物联网-米思齐-Mixly-RFID智能门禁
- 锂电池电芯-市场现状及未来发展趋势
- 用iTunes制作苹果手机铃声
- win 10常见蓝屏原因及解决方法
- Unity说明文档翻译-Time Manager
- DevIL的学习笔记
- 基于MATLAB的指纹对比识别系统
- LigerUI初学篇---使用LigerUI制作简洁清爽的界面
- python画气泡图_画气泡图的十二个图表库
- 深入浅出内存马(一)