91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Mybatis如何實現插入數據后返回主鍵

發布時間:2020-07-20 11:59:53 來源:億速云 閱讀:331 作者:小豬 欄目:編程語言

小編這次要給大家分享的是詳解Mybatis如何實現插入數據后返回主鍵,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

添加記錄后獲取主鍵ID,這是一個很常見的需求,特別是在一次前端調用中需要插入多個表的場景。

除了添加單條記錄時獲取主鍵值,有時候可能需要獲取批量添加記錄時各記錄的主鍵值,MyBatis從3.3.1版本開始支持批量添加記錄并返回各記錄主鍵字段值。

一、獲取新添加記錄主鍵字段值

注意: 在MyBatis中添加操作返回的是記錄數并非記錄主鍵id。

如果需要獲取新添加記錄的主鍵值,需要在執行添加操作之后,直接讀取Java對象的主鍵屬性。

Integer rows = sqlSession.getMapper(UserMapper.class).insertUser(user);
System.out.println("rows = " + rows); // 添加操作返回記錄數
System.out.println("id = " + user.getId()); // 執行添加操作之后通過Java對象獲取主鍵屬性值

二、在映射器中配置獲取記錄主鍵值

1.xml映射器

在定義xml映射器時設置屬性useGeneratedKeys值為true,并分別指定屬性keyProperty和keyColumn為對應的數據庫記錄主鍵字段與Java對象的主鍵屬性。

1.1 插入單條記錄

<mapper namespace="com.dafeng.dao.mapper">
	<!-- 插入數據:返回記錄主鍵id值 -->
	<insert id="insertUser" parameterType="com.dafeng.model.User" useGeneratedKeys="true" keyProperty="id" keyColumn="id" >
	  insert into user(name,age,create_time,update_time) values(#{name},#{age},now(),now())
	</insert>
</mapper>

1.2 插入多條記錄

<!-- 批量添加數據,并返回主鍵字段 -->
<insert id="insertBatchUser" useGeneratedKeys="true" keyProperty="id">
  INSERT INTO user(name,age,create_time,update_time) VALUES
    <foreach collection="list" separator="," item="u">
    (#{u.name},#{u.age},now(),now())
    </foreach>
</insert>

2.接口映射器

在接口映射器中通過注解@Options分別設置參數useGeneratedKeys,keyProperty,keyColumn值

2.1 插入單條記錄

// 返回主鍵字段id值
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
@Insert("insert into user(name,age,create_time,update_time) values(#{name},#{age},now(),now())")
Integer insertUser(User user);

2.2 插入多條記錄

如果希望執行批量添加并返回各記錄主鍵字段值,只能在xml映射器中實現,在接口映射器中無法做到。

看完這篇關于詳解Mybatis如何實現插入數據后返回主鍵的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张家港市| 朝阳区| 西城区| 西林县| 子长县| 大理市| 澄城县| 涟源市| 松江区| 客服| 荥经县| 临泉县| 白河县| 平南县| 建昌县| 郴州市| 永登县| 东乡县| 紫金县| 海原县| 石河子市| 兴国县| 从化市| 墨江| 伽师县| 花莲县| 尼勒克县| 宣化县| 栾城县| 连山| 泸西县| 云浮市| 浦城县| 大宁县| 靖远县| 资兴市| 鄂伦春自治旗| 吕梁市| 康定县| 昌乐县| 阜城县|