博客
关于我
Mapper.xml中新增数据并返回主键ID(MYSQL)
阅读量:490 次
发布时间:2019-03-07

本文共 569 字,大约阅读时间需要 1 分钟。

(一)主键为INT类型且自动增长

在MyBatis中,INT类型的主键字段通常使用自动增长功能。这种情况下,可以通过configuration来配置useGeneratedKeys属性为true,然后指定主键字段对应的实体类字段名作为keyProperty。

例如,以下SQL语句实现了这一点:

```xml
insert into orders values(null, #{userId}, now(), #{totalPrice}, 0, 0)
```

在这里,oid字段会自动分配为唯一的INT类型主键值。

(二)主键为String类型且使用UUID作为主键

如果主键为String类型并且使用UUID生成主键,可以通过MyBatis的selectKey标签来实现。在这种情况下,需要使用replace函数去除UUID中的hyphen符号,生成一个有效的String类型主键。

例如,以下SQL语句展示了这一实现方法:

```xml
SELECT replace(uuid(), '-', '')
insert into orders values/#{oid}, #{userId}, now(), #{totalPrice}, 0, 0
```

此外,oid字段需要在插入之前进行selectKey操作以获取唯一的UUID值。

转载地址:http://bqrcz.baihongyu.com/

你可能感兴趣的文章
JMeter 中实现发送Java请求
查看>>
设计模式点滴
查看>>
数据库优化
查看>>
[备忘]域用户登陆出现“此工作站和主域间的信任关系失败”错误解决方法
查看>>
继续聊WPF——用Blend自定义Listview控件的列表头
查看>>
【WPF】制作自定义的列表项面板
查看>>
【.net 深呼吸】启动一个进程并实时获取状态信息
查看>>
OO_Unit2 多线程电梯总结
查看>>
json-lib的使用《二》
查看>>
LeetCode52题,别再问我N皇后问题了
查看>>
Swagger常用注解
查看>>
FunDA(16)- 示范:整合并行运算 - total parallelism solution
查看>>
简单实用算法——字节位序反转
查看>>
webpack之带有可自动打开浏览器及热重载的基本配置
查看>>
前端的批量接口如何快速响应?有没有通用解决方案?
查看>>
git clone 出现fatal: unable to access ‘https://github 错误解决方法
查看>>
Shader 入门笔记(一) 如何学习shader
查看>>
Huffman树及其编解码
查看>>
分布式、高并发、高性能场景(抢购、秒杀、抢票、限时竞答)数据一致性解决方案
查看>>
淘宝镜像
查看>>