找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 130|回复: 0

MyBatis 如何实现id回显

[复制链接]

373

主题

55

回帖

1944

积分

管理员

积分
1944
发表于 2020-8-28 10:03:49 | 显示全部楼层 |阅读模式
Mybatis插入数据的时候默认是不会回显id的如果说使用数据库的主键自增策略,那么需要在insert 标签中添加一个useGeneratedKeys属性为true并且设置keyPropety为javaBean中的id属性名。


当然考虑到数据库不兼容问题,例如oracle 数据库不支持id自增,需要从sequence 中获取id,那么就需要使用到<selectKey> 标签。


标签内部去查询/获取主键的id


MySQL ,之后获取主键id
<selectKey keycolumn="id" resultType="long" keyProperty="id" order="AFTER"> SELECT LAST_INSERT_ID()


Oracle ,先前获取序列并且插入到数据库中。
<selectKey keyColumn="id" keyProperty="id" resultType="long" order="BEFORE">
   SELECT SEQ_ID.nextval from dual
</selectKey>
INSERT INTO user(xxx, xxx, xxx, xxx) VALUES (#{xxx}, #{xxx}, #{xxx})
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, 2024-9-20 10:41 , Processed in 0.026234 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表