温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MyBatis中如何实现insert操作插入数据之后返回插入记录的id

发布时间:2021-08-05 15:19:08 来源:亿速云 阅读:317 作者:小新 栏目:编程语言

这篇文章将为大家详细讲解有关MyBatis中如何实现insert操作插入数据之后返回插入记录的id,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

MyBatis插入数据的时候,返回该记录的id

<insert id="insert" 
keyProperty="id" 
useGeneratedKeys="true"
     parameterType="com.demo.domain.CountRateConfig">

insert into query_rate_config (code,partner_type,search_count, booking_count, ticket_count,rate_type)

values (#{code,jdbcType=VARCHAR},#{partnerType,jdbcType=TINYINT}, #{searchCount,jdbcType=INTEGER},
  #{bookingCount,jdbcType=INTEGER}, #{ticketCount,jdbcType=INTEGER},#{rateType,jdbcType=TINYINT})
</insert>

首先我们应该保证数据库的主键Id是自增的,另外需要设置的两个属性为:

keyProperty="id"
useGeneratedKeys="true"


这样的话,我们在插入数据之后,就可以得到插入数据之后的对象,然后通过该对象获取该对象的id。

useGeneratedKeys=”true” 可以获取自增长的ID 只支持具有自增长方式的那种数据库(mysql, mssql 等 但 oracle 就不支持了 )

案例如下:

1、MyBatis的配置文件如上遍所示的一段代码;

2、使用的Java代码如下:

@Override
  public int insert(CountRateConfig countRateConfig) {
    int insertNum = Integer.parseInt(countRateConfigMapper.insert(countRateConfig) + "");
    Long id = countRateConfig.getId();
    return insertNum;
  }

3、上述代码,如果插入数据成功的话,则可以找到数据库中对应的key;

结果是正确的,即可以读取正确的id。

关于“MyBatis中如何实现insert操作插入数据之后返回插入记录的id”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI