Mybatis批量插入返回多个主键
热心的托尼老师就帮忙写了个例子测试。测试了两个Mybatis版本,低版本的不支持,大家注意了 。
<insert id="insertBatchInterest" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
insert into xxxxx ( `uid`)
values
<foreach collection="list" item="item" index="index"
separator=",">
(#{item.uid,jdbcType=INTEGER} )
</foreach>
</insert>
执行java 代码
@Test
public void test() {
List<CouponInterestPO> batchList = new ArrayList<>();
CouponInterestPO po = new CouponInterestPO();
po.setUid(111);
batchList.add(po);
po = new CouponInterestPO();
po.setUid(222);
batchList.add(po);
couponInterestDao.insertBatchInterest(batchList);
for (CouponInterestPO c : batchList) {
LOG.info("返回主键====>"+c.getId());
}
执行结果是可以,返回多个主键key
mybatis
的3.4.1测试成功的,测试结果如上图
mybatis
的3.27的版本是不支持的会报错,报
org.apache.ibatis.binding.BindingException: Parameter ‘id’ not found.
Available parameters are [list]
如果对你有用麻烦点个👍,托尼谢谢大家了 。
有技术问题可以加我公众号都可以问我。扫一扫,升职加薪就是你。