gpt4 book ai didi

java - 当 id/uuid 存储为二进制时,如何使用 MyBatis 在插入后返回 key ?

转载 作者:可可西里 更新时间:2023-11-01 08:54:42 26 4
gpt4 key购买 nike

我们目前在我们的数据库中有触发器,它为我插入的每条记录分发 uuid。当我用 mybatis 插入记录时,我想取回该 uuid 而不是已插入的行数。

从上一篇文章我读到我可以用

useGeneratedKeys="true" keyProperty="id"

但是我们将 uuid 存储为二进制文件,所以我想从插入中取回非二进制 uuid。当我们插入东西时,我们使用像“uuid2bin”和“bin2uuid”这样的函数,所以我希望使用这样的函数从数据库 (MySQL) 中检索新生成的 uuid。

关于如何取回新生成的 uuid 有什么建议吗??

最佳答案

我能想到的两个选项 1) 使用 MyBatis 在 Java 中进行转换 TypeHandler或 2) 用返回格式化 UUID 的存储过程包装您的插入。

#1 的问题是您正在将负载从数据库转移到您的应用程序,如果 MySql 是远程的,这可能会影响性能。

对于#2,您需要使用 <select>在 MyBatis 中。但是,您需要确保它确实提交。另外,如果你使用的是MyBatis缓存,你还需要设置flushCache=true<select> .

关于java - 当 id/uuid 存储为二进制时,如何使用 MyBatis 在插入后返回 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7205365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com