MyBatis insert操作插入数据之后返回插入记录的id

网友投稿 650 2023-01-10


MyBatis insert操作插入数据之后返回插入记录的id

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

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,jdbcwMNRYiFpWcType=VARCHAR},#{partnerType,jdbcType=TINYINT}, #{searchCount,jdbcType=INTEGER},
 #{bookingCount,jdbcType=INTEGERhttp://}, #{ticketCount,jdbcType=INTEGER},#{rateType,jdbcType=TINYINT})


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,jdbcwMNRYiFpWcType=VARCHAR},#{partnerType,jdbcType=TINYINT}, #{searchCount,jdbcType=INTEGER},
 #{bookingCount,jdbcType=INTEGERhttp://}, #{ticketCount,jdbcType=INTEGER},#{rateType,jdbcType=TINYINT})


首先我们应该保证数据库的主键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。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:自动化接口测试测什么区别(接口自动化和接口测试的区别)
下一篇:微服务网关下载(微服务网关如何调用服务)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~