在使用MyBatis进行操作数据库时,可以通过以下方法获取插入数据的主键:
- 在插入数据时,使用
useGeneratedKeys
属性设置为true
,并且将keyProperty
属性设置为一个对象的属性名,表示将生成的主键值设置到该对象的该属性上。例如:
@Insert("INSERT INTO my_table (name) VALUES (#{name})") @Options(useGeneratedKeys = true, keyProperty = "id") int insertData(MyObject myObject);
在上述示例中,当插入数据后,生成的主键值会自动设置到MyObject
对象的id
属性上。
- 使用
selectKey
元素来执行一个查询语句,该查询语句会返回插入数据后生成的主键值。例如:
SELECT LAST_INSERT_ID() INSERT INTO my_table (name) VALUES (#{name})
在上述示例中,selectKey
元素会执行一个查询语句SELECT LAST_INSERT_ID()
,并将查询结果设置到MyObject
对象的id
属性上。
- 在插入数据后,可以通过
SELECT LAST_INSERT_ID()
来获取生成的主键值。例如:
@Insert("INSERT INTO my_table (name) VALUES (#{name})") int insertData(MyObject myObject); @Select("SELECT LAST_INSERT_ID()") Long getLastInsertId();
在上述示例中,先插入数据后,再通过getLastInsertId
方法来获取生成的主键值。
以上是几种常用的获取主键的方法,可以根据具体的需求选择适合的方式。