Mybatis在mapper.xml中获取分布式唯一id
前言
当前端传入的列表数据,后端需要做批量插入的时候,肯定是缺少主键ID的,如果在内存中去循环生成添加UUID,是不是会显得不够优雅,而且影响性能和效率提示:以下是本篇文章正文内容,下面案例可供参考
一、Mybatis生成主键ID的方法
如下图所示:
可以在mybatis的这个包中看到有生成long类型的UUID
二、使用步骤
1.引入Mybatis相关依赖
代码如下(示例):版本号自己根据需要指定
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
2.mapper.xml的写法
代码如下(示例):
<insert id="saveArticleLabel">
INSERT INTO table_article_label(id, article_id, label_id)
VALUES
<foreach collection="labelIds" item="item" separator=",">
( '${@com.baomidou.mybatisplus.core.toolkit.IdWorker@getId()}', #{articleId}, #{item})
</foreach>
</insert>
这样写就可以获取到id
${@com.baomidou.mybatisplus.core.toolkit.IdWorker@getId()}
总结
这样写不仅提升了效率,代码也会显得很优雅,你的关注就是我的动力