首先理解這就話的意思:就是在往數據庫表中插入一條數據的同時,返回該條數據在數據庫表中的自增主鍵值。
有什麼用呢,舉個例子:
你編輯一條新聞,同時需要給該新聞打上标簽(可以一個或者多個:比如:女性,愛,錢等等),然後存儲到數據庫中。怎麼存,肯定涉及到三張表,新聞表,标簽表,新聞标簽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">
有個屬性autoId
3.在看TLivePressOriginDOMapper
4、在看實際效果
我們看到這裡數據的主鍵值是10,是通過賦值給bean實體中的autoId屬性的。
那到底數據庫存儲該條數據的主鍵是不是10呢?
5、看數據庫該條記錄數據庫中該條數據的自增主鍵Id果然是10,那就說明達到了插入數據的同時獲得了該條數據在數據庫表中的主鍵值得目的。
注意:以上操作隻針對MySQL數據庫哦。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!