mybatis 获取自增主键
时间: 2023-05-03 20:07:48 浏览: 136
Mybatis使用useGeneratedKeys获取自增主键的方法
MyBatis获取自增主键的方式有多种,这里介绍两种常用的方式。
第一种是在插入操作时,使用selectKey标签来获取自增主键。这个标签需要指定keyProperty属性,表示将获取的主键值赋值给哪个实体对象的属性中。在实际使用时,可以使用如下配置:
```
<insert id="insertUser" parameterType="com.example.User">
INSERT INTO users(name,age,email)
VALUES(#{name},#{age},#{email})
<selectKey keyProperty="id" order="AFTER" resultType="int">
SELECT LAST_INSERT_ID()
</selectKey>
</insert>
```
第二种方式是使用useGeneratedKeys标签来获取自增主键。这种方式需要在插入操作时设置useGeneratedKeys属性为true,并且指定keyColumn属性,表示将生成的主键值赋值给数据库表中的哪个列。在实际使用时,可以使用如下配置:
```
<insert id="insertUser" parameterType="com.example.User" useGeneratedKeys="true" keyColumn="id">
INSERT INTO users(name,age,email)
VALUES(#{name},#{age},#{email})
</insert>
```
需要注意的是,使用useGeneratedKeys方式获取自增主键时,需要确保数据库驱动支持JDBC 3.0以上的规范,否则可能会抛出异常。同时,在MySQL数据库中,使用useGeneratedKeys方式获取主键值可能会存在问题,可以优先使用selectKey标签的方式获取自增主键值。
阅读全文