Mybatis insert or update return primary key

原创 2015年11月18日 10:19:05

1、mybatis插入或修改实体后,返回受影响的记录个数(注:所用数据库为mysql)。

mybatis 实体的mapper.xml文件:

<insert id="insertSelective" parameterType="com.***.member.entity.MemberEntity">

Dao接口:

int insertSelective(MemberEntity record);

DaoTest类:

int num = memberEntityMapper.insert(member);

num返回的则为插入数据库后影响的记录个数。


2、mybatis插入或修改实体后,返回主键id。这时就需要使用useGeneratedKeyskeyProperty。

useGeneratedKeys (仅对 insert 和 update 有用)这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系数据库管理系统的自动递增字段),默认值:false。
keyProperty (仅对 insert 和 update 有用)唯一标记一个属性,MyBatis 会通过 getGeneratedKeys 的返回值或者通过 insert 语句的 selectKey 子元素设置它的键值,默认:unset。如果希望得到多个生成的列,也可以是逗号分隔的属性名称列表。
mybatis实体的mapper.xml文件:

<insert id="insert" parameterType="com.ydsj.member.entity.MemberEntity" useGeneratedKeys="true" keyProperty="memberid">

Dao接口:

int insert(MemberEntity record);

DaoTest类:

int num = memberEntityMapper.insert(member);
Long memberId = member.getMemberid(); 

keyProper 指定的是实体类中memberid,不是数据库中的memberId;num为返回受影响的记录个数,memberId为实体主键值。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Mybatis实现UpdateOrSave方法

引言(需求)          需求来了,听好了。          车主故事录入(车主分享自己的购车经历),按照长城的需求来说,一个车主只...

MyBatis实现SaveOrUpdate

MyBatis实现SaveOrUpdate这篇文章主要讲如何通过xml方式实现SaveOrUpdate,但是仍然建议在Service中实现。例子 select count(*) from...

MyBatis之返回类型

MyBatis的返回参数类型分两种 1. 对应的分类为: 1.1.resultMap: 1.2.resultType: 2 .对应返回值类型: 2.1.r...

PostgreSQL & Oracle -1 OLTP "update/select based primary key" & insert

基于同一台主机和存储,分别测试PostgreSQL 9.4.1, Oracle 12c 的小事务处理能力。 测试结果仅供参考,有兴趣的同学可以自行测试或者更改测试用例来玩。 (因测试使用工具不一样,工...

PostgreSQL & Oracle - 2 OLTP "update/select based primary key" & insert

本文主要是针对Oracle的测试, PostgreSQL的测试和测试结果请参考上一篇: http://blog.163.com/digoal@126/blog/static/163877040201...

primary key与unique的区别 及 insert方法的一些说明注意

定义了 UNIQUE 约束的字段中不能包含重复值,可以为一个或多个字段定义 UNIQUE 约束。因此,UNIQUE 即可以在字段级也可以在表级定义, 在UNIQUED 约束的字段上可以包含空值。Ora...

MySQL InnoDB Primary Key Choice: GUID/UUID vs Integer Insert Performance

When working with MySQL it is common to choose auto incrementing integer primary keys; however, ther...

mysql INSERT ... ON DUPLICATE KEY UPDATE

向数据库插入记录时,有时会有这种需求,当符合某种条件的数据存在时,去修改它,不存在时,则新增,也就是saveOrUpdate操作。这种控制可以放在业务层,也可以放在数据库层,大多数数据库都支持这种需求...

mysql重复插入insert时更新ON DUPLICATE KEY UPDATE

mysql当插入重复时更新的方法: 第一种方法:示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句:INSERT INTO clients ...

Mysql 并发引起的死锁问题(INSERT ... ON DUPLICATE KEY UPDATE 死锁)

背景: 平台的某个数据库上面有近千个连接,每个连接对应一个爬虫,爬虫将爬来的数据放到cdb里供后期分析查询使用。前段时间经常出现cdb查询缓慢,cpu占有率高的现象。通过show proce...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)