1. 程式人生 > >MyBatis insert標籤 回填主鍵

MyBatis insert標籤 回填主鍵

JDBC中的Statement物件在執行插入的SQL後,可以通過getGeneratedKeys方法獲得資料庫生成的主鍵(需要資料庫驅動支援),這樣便能達到獲取主鍵的功能。在insert標籤中有一個開關屬性useGeneratedKeys,用來控制是否開啟這個功能,它的預設值為false。當打開了這個開關,還要配置其屬性keyProperty或keyColumn,告訴系統把生成的主鍵放入哪個屬性中,如果存在多個主鍵,就要用 (,) 將他們分開

例如:

<insert id="insert" parameterType="role" useGeneratedKeys="true" keyProperty="id">
    insert into t_role(role_name,note) values (#{roleName},#{note})
  </insert>

useGeneratedKeys代表採用JDBC的Statement物件的getGeneratedKeys方法返回主鍵,而keyProperty則代表將用POJO的哪個屬性去匹配這個主鍵,這裡是id,說明它會用資料庫生成的主鍵去賦值給這個POJO的id屬性。