首页 历史故事 MyBatis插入数据之后返回主键应该怎么操作

MyBatis插入数据之后返回主键应该怎么操作

时间:2023-02-23 历史故事 版权反馈
【摘要】:MyBatis 提供了多种方式来实现插入数据后返回主键的值。其中,常用的方式有以下两种:其中,useGeneratedKeys表示使用数据库自动生成的主键,keyProperty表示将自动生成的主键值设置到哪个属性中。在执行完插入操作后,可以通过以下代码获取插入的主键值:其中,selectKey标签用于执行 SELECT LAST_INSERT_ID() 语句来获取插入的主键值,resultType表示返回值的类型,keyProperty表示将返回的主键值设置到哪个属性中,order表示在插入之后执行。

MyBatis插入数据之后返回主键应该怎么操作

MyBatis 提供了多种方式来实现插入数据后返回主键的值。其中,常用的方式有以下两种:

  1. 在 Insert 语句中添加 useGeneratedKeys 和 keyProperty 属性

 
sqlCopy code
< insert id ="insertUser" parameterType ="com.example.User" useGeneratedKeys ="true" keyProperty ="id" > insert into user (username, password) values (#{username}, #{password}) < / insert >

其中,useGeneratedKeys表示使用数据库自动生成的主键,keyProperty表示将自动生成的主键值设置到哪个属性中。 (www.xing528.com)

在执行完插入操作后,可以通过以下代码获取插入的主键值:


 
sqlCopy code
User user = new User("test", "123456"); int rows = sqlSession.insert("insertUser", user); System.out.println(user.getId());
  1. 在 Insert 语句中添加 selectKey 标签

 
sqlCopy code
< insert id ="insertUser" parameterType ="com.example.User" > <selectKey resultType ="java.lang.Integer" keyProperty ="id" order ="AFTER" > SELECT LAST_INSERT_ID() < /selectKey > insert into user (username, password) values (#{username}, #{password}) < / insert >

其中,selectKey标签用于执行 SELECT LAST_INSERT_ID() 语句来获取插入的主键值,resultType表示返回值的类型,keyProperty表示将返回的主键值设置到哪个属性中,order表示在插入之后执行。

在执行完插入操作后,可以通过以下代码获取插入的主键值:


 
sqlCopy code
User user = new User("test", "123456"); int rows = sqlSession.insert("insertUser", user); System.out.println(user.getId());

以上是两种常用的方式,使用哪一种方式取决于具体的情况。如果数据库支持自动生成主键,则可以使用第一种方式;如果不支持,则可以使用第二种方式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈