MyBatis多参数批量插入数据返回主键id

Mybatis在插入单条数据的返回自增主键的前提,版本必须3.3.1以上

目前有两种方式,插入返回主键id。注意:返回的id都在插入到实体类中属性里面,通过getId()获取

1、对于支持生成自增主键的数据库:设置 keyProperty="主键名称" useGeneratedKeys="true"

2、不支持生成自增主键的数据库:使用

以下看我多参数插入返回id的操作
to文件:
MyBatis多参数批量插入数据返回主键id_第1张图片
dao文件:
在这里插入图片描述
mapper文件:
MyBatis多参数批量插入数据返回主键id_第2张图片
注意图片中的坑。如果你没有注意看,那么恭喜你,你就会遇见以下错误:
在这里插入图片描述
错误信息也提示你,keyProperty的值有误,应该时 list.sportId。

最后我来讲解一下,上面的属性配置

keyProperty=“sportPlanItemTOS.sportId”
sportPlanItemTOS:dao中的参数
sportId:实体类中存储返回主键id的属性
这属性的整个意思就是:将查询到的主键值存到sportPlanItemTOS里面的sportId这个属性上

keyColumn=“id”
id:数据库中主键的列名

最后说一下,如果你的多个参数,都使用了@Param注解的话,那么keyProperty和collection属性里面的数据都要替换成注解里面的值。

参考:https://github.com/itfsw/mybatis-generator-plugin/issues/70

你可能感兴趣的:(Java,数据库,mybatis)