阅读量:3
MyBatis提供了两种方式来设置主键自增。
- 使用数据库的自增主键:在数据库中定义主键字段为自增,然后在MyBatis的映射文件中设置主键字段为自动生成,如下所示:
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id"> INSERT INTO user(username, password) VALUES (#{username}, #{password}) </insert>
在上述例子中,useGeneratedKeys
属性被设置为true
,keyProperty
属性指定了主键字段的名称。
- 使用UUID来生成主键:在MyBatis的映射文件中使用UUID来生成主键,如下所示:
<insert id="insertUser" parameterType="User"> <selectKey keyProperty="id" resultType="java.lang.String" order="BEFORE"> SELECT REPLACE(UUID(), '-', '') </selectKey> INSERT INTO user(id, username, password) VALUES (#{id}, #{username}, #{password}) </insert>
在上述例子中,使用了selectKey
元素来生成主键,并将生成的主键值设置到keyProperty
指定的属性中。
需要注意的是,使用自增主键或UUID来生成主键都需要在数据库中定义相应的字段。