Mybatis框架(6)---Mybatis插入數據后獲取自增主鍵


Mybatis插入數據后獲取自增主鍵

    首先理解這就話的意思:就是在往數據庫表中插入一條數據的同時,返回該條數據在數據庫表中的自增主鍵值。

    有什么用呢,舉個例子:

    你編輯一條新聞,同時需要給該新聞打上標簽(可以一個或者多個:比如:女性,愛,錢等等),然后存儲到數據庫中。怎么存,肯定涉及到三張表,新聞表,標簽表,新聞標簽id關聯表

新聞表插入數據簡單,標簽表插入數據簡單。那新聞標簽表呢,如何關聯,那是不是需要新聞表和標簽表插入數據的時候,返回它們的主鍵Id然后再存儲到新聞標簽表中。

   這種場景還是蠻常見的。下面主要針對的MySQL數據庫進行操作。

1.TLivePressOriginDOMapper.xml插入語句添加配置

 <!-- 主要講新添加的兩個屬性:useGeneratedKeys和keyProperty-->
  <!--useGeneratedKeys="true" 默認值是:false。 含義:設置是否使用JDBC的getGenereatedKeys方法獲取主鍵並賦值到keyProperty設置的領域模型屬性中。-->
  <!--keyProperty="autoId" 就很好理解了,就是把主鍵值賦值給TLivePressOriginDO實體的autoId屬性中-->
  <insert id="insertSelective" parameterType="com.jincou.dlo.TLivePressOriginDO" useGeneratedKeys="true" keyProperty="autoId">

2.查看TLivePressOriginDO實體

有個屬性autoId

3.在看TLivePressOriginDOMapper

4、在看實際效果

    我們看到這里數據的主鍵值是10,是通過賦值給bean實體中的autoId屬性的。

那到底數據庫存儲該條數據的主鍵是不是10呢?

5、看數據庫該條記錄

     數據庫中該條數據的自增主鍵Id果然是10,那就說明達到了插入數據的同時獲得了該條數據在數據庫表中的主鍵值的目的。

注意:以上操作只針對MySQL數據庫哦。

 

 想太多,做太少,中間的落差就是煩惱。想沒有煩惱,要么別想,要么多做。中校【10】 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM