Mybatis在插入单条数据的返回自增主键的前提,版本必须3.3.1
以上
目前有两种方式,插入返回主键id。注意:返回的id都在插入到实体类中属性里面,通过getId()获取
1、对于支持生成自增主键的数据库:设置 keyProperty="主键名称" useGeneratedKeys="true"
2、不支持生成自增主键的数据库:使用<selectKey>
以下看我多参数插入返回id的操作
to文件:
dao文件:
mapper文件:
注意图片中的坑。如果你没有注意看,那么恭喜你,你就会遇见以下错误:
错误信息也提示你,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