这里没写返回类型因为这里直接把主键id写入你的实体类中,service层可以直接从实体类中获取主键id
这里没写返回类型因为这里直接把主键id写入你的实体类中,service层可以直接从实体类中获取主键id
版权声明:本文为博主原创文章未经博主允许不得转载。 /sinat_/article/details/
一、前言
数据库操作怎能少了INSERT操作呢下面记录mybatis新增返回主键id关于INSERT操作的笔记,以便日后查阅
二、 insert元素 属性详解
keyColumn ,设置数据表自动生成的主键名对特定数据库(如PostgreSQL),若自动生成的主键不是第一个字段则必须设置
三、一般的INSERT操作——返回值为插入的记录数目
四、执行INSERT操作后获取记录主键
甴于手段②获取主键的方式依赖数据库本身因此推荐使用手段①。
注意:mapper接口返回值依然是成功插入的记录数但不同的是主键值已经賦值到领域模型实体的id中了。
五、 selectKey子元素 详解
注意:selectKey操作会将操作查询结果赋值到insert元素的parameterType的入参实例下对应的属性中并提供给insert语句使用
六、批量插入
上述方式相当语句逐条INSERT语句执行,将出现如下问题:
1. mapper接口的add方法返回值将是最一条INSERT语句的操作成功的记录数目(就是0或1)而不是所有INSERT语句的操作成功的总记录数目
2. 当其中一条不成功时,不会进行整体回滚
上述方式解决了方式1中的问题。但该方式仅限于MSSQL
该方式与方式2效果一样若为Oracle则采用