useGeneratedKeys的使用:
mybatis可以利用useGeneratedKeys參數結合id等進行插入時的數據返回。
使用註解方案:
@Options(useGeneratedKeys = true, keyColumn = "id", keyProperty = "id")
@Insert("")
int insertImageText(Tweet tweet);
這裏需要一般是Options註解結合Insert註解使用,這裏能增加代碼的可閱讀性。但是同時會降低sql代碼的重用性。
使用xml配置:
<insert id="insertImageText" keyProperty="id" keyColumn="id" useGeneratedKeys="true"
parameterType="com.shengxi.wu.frame.entity.Tweet">
insert into tweet(category, customer, digest)
value (#{category}, #{customer}, #{digest})
</insert>
原理和註解一樣。但是這裏如果需要動態sql能更好的重用代碼。
獲取id:
在插入成功後,mybatis將返回id給實體類。我們可以利用getter獲取對應的值。
注意:
我們如果需要使用useGeneratedKeys就不能使用param註解指定參數。因爲使用了param註解將使得useGeneratedKeys無效。