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实现SaveOrUpdate

MyBatis实现SaveOrUpdate这篇文章主要讲如何通过xml方式实现SaveOrUpdate,但是仍然建议在Service中实现。例子 select count(*) from...
  • isea533
  • isea533
  • 2015年05月08日 13:31
  • 34201

Mybatis实现UpdateOrSave方法

引言(需求)          需求来了,听好了。          车主故事录入(车主分享自己的购车经历),按照长城的需求来说,一个车主只能分享一次故事,如果在进入 个人中心里,需判断是否有车主故事...

Oracle实现数据不存在则插入,数据存在则更新(insert or update)

思路是写一个函数,先按条件查询数据,如果查询到数据则更新,如果没有查询到数据则插入: create or replace function fn_merge_index(statdate ...
  • jumtre
  • jumtre
  • 2014年09月28日 17:29
  • 22382

mybatis insert & update

mybatis insert和update混合使用,当主键不存在就插入数据,主键冲突时,更新数据 。insert into ·····on duplicate update······case...

数据库--MyBatis的(insert,update,delete)三种批量操作

MyBatis中批量插入   方法一:     resultType="java.lang.String">   SELECT CURRENT_TIMESTAMP()...

mybatis中使用replace into和 insert INTO … ON DUPLICATE KEY UPDATE批量操作

一、replace into REPLACE INTO table_name (product_id,departs_date,price_value) VALUES (...
  • lxxxzzl
  • lxxxzzl
  • 2014年11月17日 20:20
  • 16436

Mybatis获取插入记录的自增长ID

1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,不是表格的字段名!...
  • tolcf
  • tolcf
  • 2014年09月03日 22:57
  • 45397

mybatis insert插入返回自增长id

mysql插入数据后返回自增ID的方法 方法一是使用last_insert_id  其实在Mybtias框架里使用selectkey这个节点,并设置insert返回值的类型为integer,...

Mybatis中insert、Update操作返回主键

Mybatis中insert、Update操作返回主键   How to get pk after operation of insert, update in mybatis?   两种方式 1. ...

mybatis——select、insert、update、delete

一、select SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDEN...
  • bear_wr
  • bear_wr
  • 2016年08月31日 16:22
  • 31041
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mybatis insert or update return primary key
举报原因:
原因补充:

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