1. 程式人生 > >mybatis框架(6)---mybatis插入數據後獲取自增主鍵

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

-a 中間 generate 什麽 text 簡單 技術 cti 插入數據

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】

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