DAO层使用Mybatis-generator生成映射文件连接Mysql入门测试用例(无限速源码下载),insert和update插入返回带自增主键的两种方式(五)

问题背景

前几篇介绍了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 ...

Lyric:等一轮明月

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容