关闭

Mybatis insert or update return primary key

标签: mybatis
1670人阅读 评论(0) 收藏 举报
分类:

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为实体主键值。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:48836次
    • 积分:1062
    • 等级:
    • 排名:千里之外
    • 原创:53篇
    • 转载:39篇
    • 译文:2篇
    • 评论:0条