mybatis獲取自增id的值
本文講述的方法主要適用於如下情景。在使用mybatis作為orm的專案中,如果多個關聯資料在同一個事物中時,第一個表插入資料時其主鍵為自增的id,第二個表插入資料時需要關聯插入的第一個表資料的id作為外來鍵,並且第一表中的資料除了主鍵id外都其餘專案都不具有唯一性。此時可以使用本文提供的方法在第一表插入資料後將其分配的自增id賦值給插入的物件。
1、mybatis中mapping檔案的配置
配置對於表的mapping的xml檔案,在插入資料的sql語句後加上如下配置:
useGeneratedKeys="true" keyProperty="id"
如:
<insert id="insert" parameterType="api.landsem.mybatis.entity.DeviceHotInfoEntity" useGeneratedKeys="true" keyProperty="id">
insert into tb_device_hotinfo (id, create_time, update_time,
v, mileage, tb_devices_imei
)
values (#{id,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{v,jdbcType=INTEGER}, #{mileage,jdbcType=REAL}, #{tbDevicesImei,jdbcType=VARCHAR}
)
</insert>
在加上上述配置後,在插入資料後,mybatis會將自動分配給該記錄的id值賦值到物件的id屬性中(不管事物是否提交)。第二個表中直接使用第一個物件的id屬性即可。
相關文章
- Mybatis獲取自增主鍵的值MyBatis
- MyBatis 獲取自增主鍵MyBatis
- 【MySQL】如何獲取自增idMySql
- 深入分析Mybatis 使用useGeneratedKeys獲取自增主鍵MyBatis
- PHP+MySql獲取自動增長欄位的新新增記錄ID值PHPMySql
- antd Form元件方法getFieldsValue獲取自定義元件的值ORM元件
- mysql預先取自動增長主鍵的下一個值MySql
- 獲取自身ip
- 騰訊 Tars-Go 服務獲取自定義模版(配置)值Go
- mysql獲取指定表當前自增id值MySql
- Mybatis通用mapper獲得insert後的資料實體的自增IDMyBatisAPP
- mongoose使用validate驗證, 獲取自定義驗證資訊Go
- MyBatis 返回(批次)新增資料的自增idMyBatis
- cookie不能獲取自己設定的,只能獲取系統的名字為JSESSIONID的cookie的解決辦法CookieJSSession
- Mybatis的增刪改查MyBatis
- 計算機視覺領域如何從別人的論文裡獲取自己的idea?計算機視覺Idea
- Android獲取Manifest中元素的值Android
- android獲取string.xml的值AndroidXML
- select @@Identity 返回自增主鍵的值IDE
- 【redis】使用redis RedisAtomicLong生成自增的ID值Redis
- 如何獲取自動化測試實戰經驗
- uni-app定位獲取自身和附近定位資訊APP
- jQuery獲取id屬性值具有點的元素jQuery
- MyBatis-Pro,新一代的MyBatis增強框架MyBatis框架
- 如何從參與開源專案的過程中獲取自信
- Mybatis中List傳值MyBatis
- jquery獲取id屬性值帶有點的元素jQuery
- JDBC 獲取被插入資料的主鍵ID值JDBC
- Vue專案打包後動態獲取自定義變數Vue變數
- 捕獲cookie的值Cookie
- MyBatis 呼叫Oracle儲存過程,傳參、返回遊標的值獲取--示例MyBatisOracle儲存過程
- Mybatis-Plus增強包MyBatis
- android studio獲取sha1值Android
- jQuery點選元素獲取此元素的id屬性值jQuery
- JavaScript獲取當前點選元素的id屬性值JavaScript
- 更便捷的Mybatis增強外掛——EasyMybatisMyBatis
- Laravel 從中介軟體中獲取自定義使用者資訊Laravel
- IE、火狐、谷歌下javascript 獲取自定義屬性相容問題谷歌JavaScript