在 MyBatis 中,可以通过以下几种方式在插入数据时获取自增主键:
1. 使用 `<selectKey>` 标签:在 XML 配置文件的插入语句中使用 `<selectKey>` 标签来获取自增主键。示例代码如下:
```xml
<insert id="insertUser" parameterType="User">
<selectKey keyProperty="id" resultType="Long" order="AFTER">
SELECT last_insert_id() AS id
</selectKey>
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
```
在此示例中,`<selectKey>` 标签将会在插入语句执行后执行,查询数据库的自增主键值,并将其赋值给 `id` 属性。
2. 使用 `useGeneratedKeys` 属性:在 XML 配置文件的插入语句中,可以设置 `useGeneratedKeys` 属性为 `true`,并指定 `keyProperty` 属性为自增主键的字段名。示例代码如下:
```xml
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
```
当执行插入语句后,MyBatis 会将生成的自增主键值赋值给 `id` 属性。
3. 使用数据库厂商自身的函数:某些数据库厂商提供了获取自增主键值的函数。在插入语句执行后,可以使用数据库厂商提供的函数来获取自增主键值。具体的函数名称和用法请参考对应数据库的文档。
需要注意的是,自增主键的获取方式取决于使用的数据库和数据库驱动程序的支持。在实际使用中,可以根据数据库和驱动程序的不同,选择合适的方式来获取自增主键。