问题背景
前几篇介绍了mybatis的使用,在使用insert插入的时候,我的项目需要用到当条记录的主键,可以使用两种方式增加返回主键
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),单条增删改查CRUD(一)
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),selectByExample,insertSelective,countByExample,selectOneByExample的使用(二)
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),deleteByExample,batchInsert,updateByExampleSelective,updateByExample的使用(三)
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),page分页和limit的使用(四)
DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),insert和update插入返回带自增主键的两种方式(五)
解决方式
方式一
打开xml文件,原本为
<insert id="insert" parameterType="data.api.entity.mysql.TransformRecord">
添加返回主键:useGeneratedKeys="true" keyProperty="recordId" ,recordId替换为你自己的主键,更改为
<insert id="insert" parameterType="data.api.entity.mysql.TransformRecord"
useGeneratedKeys="true" keyProperty="recordId">
update也可以添加
<update id="updateByExampleSelective" parameterType="map"
useGeneratedKeys="true" keyProperty="recordId">
方式二
原本我的generatorConfig配置文件是这样
<table tableName="transform_record">
<property name="useActualColumnNames" value="false"/>
</table>
更改为
<table tableName="transform_record"
enableInsert="true">
<!--插入数据时返回自增id-->
<generatedKey column="recordId" sqlStatement="MySql" identity="true"/>
</table>
心得
- 忘添加使我出现了几次问题了
作为程序员第 63 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha ...