mybatis生成UUID
时间: 2025-02-01 20:01:46 浏览: 47
### 实现 MyBatis 中 UUID 的生成
在 MyBatis 中实现 UUID 的生成可以通过 `<selectKey>` 标签来完成。通过配置该标签,可以在插入数据之前生成唯一的 UUID 并将其绑定到实体类的相应字段上。
对于 MySQL 数据库,在 XML 映射文件中的 SQL 插入语句可以如下定义:
```xml
<insert id="save" parameterType="Book">
<selectKey keyProperty="id" resultType="java.lang.String" order="BEFORE">
SELECT REPLACE(UUID(), '-', '') AS id FROM DUAL
</selectKey>
INSERT INTO t_book(id, name)
VALUES (#{id}, #{name})
</insert>
```
上述代码片段展示了如何利用 `SELECT UUID()` 函数结合字符串替换操作去除分隔符 `-` 来创建无符号线的 UUID 值[^4]。
对于 PostgreSQL 或其他数据库,则可以根据具体数据库特性调整查询部分以适应不同的 DBMS 提供的 UUID 生成功能。例如,在 PostgresSQL 上可以直接调用内置函数 `gen_random_uuid()`.
当使用 Spring Boot 和 MyBatis 组合时,还可以考虑采用 Java 侧逻辑预先生成 UUID 赋予给待保存的对象实例,之后再提交至持久层处理。这种方式能够更好地分离关注点,并且不依赖于特定 RDBMS 行为。
阅读全文
相关推荐


















