MyBatis提供了兩種方式來設置主鍵自增。
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user(username, password) VALUES (#{username}, #{password})
</insert>
在上述例子中,useGeneratedKeys
屬性被設置為true
,keyProperty
屬性指定了主鍵字段的名稱。
<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來生成主鍵都需要在數據庫中定義相應的字段。