码迷,mamicode.com
首页 > 数据库 > 详细

难题解决:Mycat数据库中间件+Mybatis批量插入数据并返回行记录的所有主键ID

时间:2018-07-07 22:33:20      阅读:545      评论:0      收藏:0      [点我收藏+]

标签:value   mycat   结构   XML   date   不能   需要   let   seq   

 一、mybatis的版本必须为3.3.1及其以上

项目所依赖的mybatis的版本必须为3.3.1及其以上,低版本的不行,保证hap项目的依赖的mybatis的jar的版本必需为需要的版本:

 技术分享图片

二、在Dao层不能使用@Param注解,且Mapper.xml文件中使用list变量接收Dao层中的集合

 数据库库结构设计:

技术分享图片

 

对应的Dto层:

技术分享图片

对应的Mapper接口:

技术分享图片

对应的Mapper.xml文件:

技术分享图片

具体代码如下,需要使用到mycat的注解,指定该插入为批量数据插入:

<insert id="insertByBatch">
/*!mycat:catlet=io.mycat.route.sequence.BatchInsertSequence */
insert into test_sharding_by_accounting_date (rule_code,name,accounting_date)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.ruleCode,jdbcType=DECIMAL},#{item.name,jdbcType=VARCHAR},#{item.accountingDate,jdbcType=DATE})
</foreach>
</insert>

三、Mycat为分库表做全局序列的配置

schema.xml文件:

技术分享图片

server.xml文件的全局序列方式设置为本地读取:

技术分享图片

 

 sequence_conf.properties文件的配置:

技术分享图片

 

难题解决:Mycat数据库中间件+Mybatis批量插入数据并返回行记录的所有主键ID

标签:value   mycat   结构   XML   date   不能   需要   let   seq   

原文地址:https://www.cnblogs.com/jiaqingshareing/p/9278358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!