mybatis uuid java_请问mybatis新增操作使用UUID 如何返回UUID-程序员宅基地

技术标签: mybatis uuid java  

5f2e2ae99a0672082316a68ef1d84ef0.png

d6016a3716b74b3a6beeec16019000fd.png

c71582c22edcdd777e2f370d8c3e226e.png

mybatis 在新增的时候并不会返回String类型,请问我如何获取到当前插入的UUID ,debug跟进的时候 看到在selectKey执行产生的UUID并没有set进当前user对象,而是重新产生了一个变量。请问如何解决返回当前对象ID

调用持久层前,自己生成一个UUID,放到对象里并且方法返回该UUID。

dao接口定义 save 方法 时 尝试 修改返回类型 为String 看看有没有接收到。

默认是返回影响行数的。如果配置了selectKey 可能会返回 selectKey的内容 。

在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能

针对Sequence主键而言,在执行insert sql前必须指定一个主键值给要插入的记录,如Oracle、DB2,可以采用如下配置方式:

<insert id="add" parameterType="vo.Category">

<selectKey resultType="java.lang.Short" order="BEFORE" keyProperty="id">

SELECT SEQ_TEST.NEXTVAL FROM DUAL

</selectKey>

insert into category (name_zh, parent_id,

show_order, delete_status, description

)

values (#{nameZh,jdbcType=VARCHAR},

#{parentId,jdbcType=SMALLINT},

#{showOrder,jdbcType=SMALLINT},

#{deleteStatus,jdbcType=BIT},

#{description,jdbcType=VARCHAR}

)

</insert>

mybatis默认返回的是影响的行数,要返回id要另外写。

如果是oracle的数据库,uuid可以写sys_guid()

164ceb10165b20d25e60db73da45b2e7.png

如果是mysql的就要跟楼上说的一样,先给一个id再保存

不用在代码中提前生成一个uuid,理解一下selectKey 中keyProperty属性就可以解决这个问题。

9ecc4ad0ed47f7c30f7069e379b1cdfb.png

e72274a6ea0b63114fa69a10c3e93104.png

这样在selectKey生成时,产生的UUID会set进当前对象中

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42489252/article/details/114325926

智能推荐

socket PHP:详细简单的socket TCP通信PHP实现_php tcp两个客户端通信-程序员宅基地

文章浏览阅读8.6k次,点赞3次,收藏34次。如果你想直接运行程序实现效果:请直接看 3.3 本地服务器及客服端程序1 背景介绍目标:我希望通过套接字的TCP传输来搭建一个服务器,这个服务器的作用是:接受多个客户端的连接并完成他们的相互通信。比如客户端A,客户端B同时连接到服务器S,客户端A向服务器S发送消息,服务器S会将A的消息转发给B,同理,B的消息也可以通过S被转发到A。这样就实现了客户端A和客户端B之间的相互通信。本次我们只实现..._php tcp两个客户端通信

【数学】简化剩余系、欧拉函数、欧拉定理与扩展欧拉定理-程序员宅基地

文章浏览阅读894次,点赞27次,收藏31次。讲解简化剩余系、欧拉函数、欧拉定理与扩展欧拉定理

语音交互开源平台对比_tts api 开源 对比-程序员宅基地

文章浏览阅读8.7k次,点赞2次,收藏19次。语音识别项目:http://www.oschina.net/project/tag/203/tts-speech sf.net http://www.codesoso.net/Search?q=%D3%EF%D2%F4%CA%B6%B1%F0&amp;l=chttp://search.codesoso.com/Search?q=%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%A..._tts api 开源 对比

CR(变更请求)-程序员宅基地

文章浏览阅读963次。  CR(变更请求)用于记录和追踪缺陷、扩展请求和任何其他类型的产品变更请求。变更请求的优点在于,它们提供了决策记录,且其评估的流程还确保了变更的影响可在整个项目范围内得到认同和理解。..._cn和cr变更

python循环语句while教案_while循环教学设计-程序员宅基地

文章浏览阅读2.5k次。第7课《while循环》教学设计【教学目标】1.知识与技能:巩固Python语言中的if-else语句和取余运算符%;了解并学会while循环结构及其用法,学会使用计数变量控制循环次数。会用while循环重复打印相同的语句,会用while循环找到100以内的奇数和偶数。2.过程与方法:鼓励学生通过自主探究、小组合作等方法解决问题,在学习中不断经历分析思考、实践求证、反馈调适的计算思维过程,进一步熟..._python语言while循环教学设计

AD从原理图到PCB超详细教程_原理图怎么生成pcb-程序员宅基地

文章浏览阅读8.7w次,点赞426次,收藏2.3k次。我在学习AD的时候,看了网上很多教程,但是东西很杂,有很多条理不清而且废话很多,所以相信大家学习的时候也是遇到一样的困难。我就特地写一篇帖子,整理了一下AD从画原理图开始一直到画完PCB文件的所有步骤,一方面是供大家参考学习,另一方面可以方便我自己学习记忆更加深刻。我用的版本是AD16中文版,大家用新的版本AD20或者AD22应该操作都是差不多的。_原理图怎么生成pcb

随便推点

剑指——58.二叉树的下一个结点-程序员宅基地

文章浏览阅读122次。58.二叉树的下一个结点题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right; struc...

沙龙回看 | 携程技术沙龙——后端架构工程实践-程序员宅基地

文章浏览阅读436次。本周我们结束了携程技术沙龙——后端架构工程实践专场的四场直播,现把相关的PPT和视频分享给小伙伴们,欢迎点击查看。9月15日《携程DRC-MySQL数据双向复制实践》随着携程国际化战略的..._携程国际化 架构

eclipse导入项目(Some projects cannot be imported because they already exist in the workspace)_eclipse怎样导入项目报错some project-程序员宅基地

文章浏览阅读923次。这个昨天遇到了,以前也遇到过,忘了怎么解决的。网上有很多说不copy到workspace然后refresh,这个方法我这里没啥用。提供一个曲线救国的方法:eclipse导入项目识别的是目录中的.project,出现错误是因为我们原来导入的项目.project已经存储在workspace下面(即使删除了,workspace可能还存储这个project一些信息),再次导入识别之后发现.proj..._eclipse怎样导入项目报错some project

AWS-AWS Systems Manager Session (SSM 会话管理器)试用_aws会话管理器-程序员宅基地

文章浏览阅读5.8k次。Session Manager 是什么,能做什么AWS Systems Manager 会话管理器是一个新的交互式 Shell 和 CLI,有助于提供安全、访问权限受到控制且经过审计的 Windows 和 Linux EC2 实例管理。使用会话管理器,您无需打开入站端口、管理 SSH 密钥或使用堡垒主机。并且登录的主机可以处于公有子网或者私有子网。借助会话管理器,您可以提高安全性,集中进行..._aws会话管理器

uniapp(微信小程序/支付宝小程序) - 最新解决canavs绘制海报、二维码图片等不显示问题,在uniapp小程序开发中使用canavs制作base64图片在真机运行时空白不显示(详细解决方法)_uni-app 微信小程序canvas 不显示-程序员宅基地

文章浏览阅读2.9k次,点赞6次,收藏3次。uni-app,微信小程序,支付宝小程序,uniapp小程序,canvas,base64,微信小程序中base64格式的小程序码通过canvas画出来无效,真机调试二维码不显示的问题。小程序base64编码图片无法使用canvas绘制,uni-app小程序 真机显示canvas上利用base64图片生成的海报,微信小程序中base64格式的小程序码通过canvas画出来无效,解决canvas base64图片在小程序真机不显示问题,无法使用canvas绘制的问题,微信小程序使用canvas真机不生效,微信小_uni-app 微信小程序canvas 不显示

python第四章课后题答案4.7_数据结构(python语言描述)第四章答案-程序员宅基地

文章浏览阅读551次。以下是个人做法。仅作参考练习4.33、# -*- coding=utf-8 -*-__author__ = 'junhao'__date__ = '2018/9/30 10:41'"""File: arrays.pyAn Array is like a list, but the client can use only [], len, iter, and str.To instantiate, ..._数据结构python曹岳辉答案

推荐文章

热门文章

相关标签