mybatis插入操作返回自增id,及問題解決方案

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無效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章