使用Mybatis 关于数据库采用UUID策略自增,在xml中设置insert语句
主键自增方式:采用主键自增 字段为int类型, 第二种为UUID策略自增
此文主要UUID形式自增
由于采用UUID形式,当insert时 主键的值无法获取,所以采用 <selectKey>标签, 此标签可以获取到UUID的value,
- <!--selectKey 会将
select replace(uuid(),'-','') AS id 以下为 语句A
的结果传入到insert的主键里面, - keyProperty 对应的model中的主键的属性名,这里是 user 中的id,因为它跟数据库的主键对应
- order 有俩个参数1.AFTER 2.BEFORE
- 1.AFTER 表示 语句A 在insert执行之后执行,多用与自增主键,
- 2.BEFORE 表示 语句A在insert执行之前执行
- resultType 主键类型
<insert id="createMarketing" parameterType="BizMarketing" useGeneratedKeys="true" keyProperty="id"> <selectKey keyProperty="id" resultType="java.lang.String" order="BEFORE"> select replace(uuid(),'-','') AS id </selectKey> insert into tbl_marketing_activities <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null and id != ''">id,</if> <if test="owner != null and owner !=''">owner,</if> <if test="name != null and name !=''">name,</if> <if test="startDate != null and startDate !=''">startDate,</if> </trim> <trim prefix="values(" suffix=")" suffixOverrides=","> <if test="id != null and id != ''">#{id},</if> <if test="owner != null and owner !=''">#{owner},</if> <if test="name != null and name !=''">#{name},</if> <if test="startDate != null and startDate !=''">#{startDate},</if> </trim> </insert>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)