一、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文件的配置: