溫馨提示×

mybatis怎么獲取自動生成的主鍵

小億
130
2023-08-24 03:48:27
欄目: 編程語言

MyBatis提供了多種方式來獲取自動生成的主鍵。

  1. 使用元素:可以將元素添加到插入語句中,以便在執(zhí)行插入操作后獲取自動生成的主鍵。示例代碼如下:
<insert id="insertUser" parameterType="User">
<selectKey keyProperty="id" resultType="java.lang.Long" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>

在上面的示例中,元素將LAST_INSERT_ID()函數(shù)用于獲取自動生成的主鍵,并將其賦值給keyProperty指定的屬性。

  1. 使用useGeneratedKeys屬性:可以在插入語句中使用useGeneratedKeys屬性,以便在執(zhí)行插入操作后獲取自動生成的主鍵。示例代碼如下:
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>

在上面的示例中,useGeneratedKeys屬性設置為true,keyProperty指定了要賦值的屬性。

  1. 使用@Options注解:在使用注解的方式下,可以在插入方法上使用@Options注解來指定獲取自動生成主鍵的方式。示例代碼如下:
@Insert("INSERT INTO user (name, age) VALUES (#{name}, #{age})")
@Options(useGeneratedKeys = true, keyProperty = "id")
int insertUser(User user);

在上面的示例中,@Options注解中的useGeneratedKeys屬性設置為true,keyProperty指定了要賦值的屬性。

以上是使用MyBatis獲取自動生成的主鍵的幾種常用方式。根據(jù)自己的實際需求和項目配置選擇合適的方式。

0