1. 程式人生 > >Mybatis下insert語句後獲取自增id

Mybatis下insert語句後獲取自增id

目前專案是一個公司平臺的專案重構,專案原來的設計很多不必要。但是也會用到。之前遇到了這種insert後需要知道自增id。然後根據自增id還要去關聯表插入一條資料。我是很不支援這樣的。但是原有設計如此。而且是第二次遇到,第一次沒有記,這次記下來,目前我只負責訂單系統。只是涉及到了其他部分。也無力去幫忙改造。

此方法為Mybatis下使用insert後獲得自增id的方法,網上也看了許多方法,但是這個方法應該是絕對不會出問題的

<insert id="insertUserMessage" parameterType="com.xxx.xxx.model.UserMessage"
            useGeneratedKeys="true" keyProperty="userMessage.id">
        insert into my_news
        (orderid,commentid,type,title,content,createtime)
        values
        (#{userMessage.orderid}
,#{userMessage.commentid},#{userMessage.type},#{userMessage.title} ,#{userMessage.content},#{userMessage.createtime}) </insert>

這裡需要注意的是需要把實體類傳進來。keyProperty為自增的id欄位。呼叫insert後自動將自增id賦值進insert呼叫的實體類中

//新建物件
UserMessage userMessage = new UserMessage();

                                                        userMessage.setXxxxxx
(xxxxxx); userMessageDao.insertUserMessage(userMessage); //這時userMessage.getId()就可以獲取到自增主鍵了 BigInteger id = userMessage.getId();

相關推薦

Mybatisinsert語句獲取id

目前專案是一個公司平臺的專案重構,專案原來的設計很多不必要。但是也會用到。之前遇到了這種insert後需要知道自增id。然後根據自增id還要去關聯表插入一條資料。我是很不支援這樣的。但是原有設計如此。而且是第二次遇到,第一次沒有記,這次記下來,目前我只負責訂單系

mybatisinsert插入獲取id詳解(從controller到mapper)

需求說明:當執行插入操作的時候,其中資料包含兩個模組,分別存放在兩種資料庫表中,拿表A,表B來說。 表A為基本資訊表,其中插入時候有自增id,也就是每新增一條資料後下一個id都會自動加1。 表B為詳情表,其中有個欄位為A_id與A表中的id是一樣的,也就是他們的關聯欄位。 那麼問

JDBC返回執行INSERT語句ID

package org.bw88; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import

Mybatisinsert 之後想獲取的主鍵 id,但是總是返回1

代碼 true batis id屬性 說明 _id reg generated color 記錄一次傻逼的問題, 自己把自己蠢哭:Mybatis 在 insert 之後想獲取自增的主鍵 id,但是總是返回1 錯誤說明:   返回的1是影響的行數,並不是自增的主鍵id

Mybatisinsert 之後想獲取的主鍵 id

type rop ati property prope keys .get clas gist <insert id="add" useGeneratedKeys="true" keyColumn="id" keyProperty="id"

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

-a 中間 generate 什麽 text 簡單 技術 cti 插入數據 mybatis插入數據後獲取自增主鍵 首先理解這就話的意思:就是在往數據庫表中插入一條數據的同時,返回該條數據在數據庫表中的自增主鍵值。 有什麽用呢,舉個例子: 你編輯

tp5 save()儲存,獲取ID,獲取關聯表中的某值

用過tp5的小夥伴們都知道用save方法新增資料返回的是寫入的記錄數。 但是專案中常常遇到在儲存成功資料後也要獲取這條資料的主鍵id,以方便存到其他表裡用作關聯需要,下面是程式碼示例: //向user表中儲存一條資料 $data = [ 'username'=>'ceshi',

mybatisinsert語句獲取id的方法(mySQL)

前提是資料庫表裡已經把id欄位設定成了自增的javabean的定義是這樣的:package test; import java.util.Date; public class Express { private int id; private String order

SSM】之MyBatis插入資料獲取主鍵

        很多時候,我們都需要在插入一條資料後回過頭來獲取到這條資料在資料表中的自增主鍵,便於後續操作。針對這個問題,有兩種解決方案: (1)先插入,後查詢。我們可以先插入一條資料,然後根據插入的資料的各個欄位值,再次訪問資料庫,從資料庫中將剛剛插入的資料查詢出來。當

MyBatis 批量插入獲取 id 問題解決

插入 lis foreach myba 如果 .cn bsp collect images 問題: 通過 MyBatis 進行批量插入時,如果我們想獲取插入對象所對應的主鍵 id,做法是直接在 <insert> 標簽中直接加入 useGeneratedKeys

mybatis插入數據返回的主鍵id

pre tails isp entity CA ctc ron creat rod 在插入數據時候想自動返回mysql的自增的主鍵,需要在mapper.xml中配置下; <insert id="insert" parameterType="com.rograndec.

mybatis 在oracle資料庫中插入資料時獲取ID sequence序列

在oracle中sequence就是序號,每次取的時候它會自動增加。sequence與表沒有關係。 Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE許可權。 建立語句如下: CREATE SEQUEN

oracle資料庫在mybatis框架中獲取id

oracle資料庫獲取自增id的方法與mysql不一樣,後者通過設定useGeneratedKeys和keyProperty即可實現。 但是oralce資料庫自增是通過自定義的sequence佇列。所以方法上有所不同。 自增佇列: create or replace t

關於mybatis插入時如何獲取id

一般mybatis插入的話不像hibernate會返回像mysql或者sql server這些關係資料庫中的自增id,那該怎麼樣才能從插入時返回資料庫中的自增id呢?其實mybatis已經為我們做了這樣一個設定,只需要在寫插入語句定義好返回主鍵id對應傳入的java物件中的

mybatis 在oracle資料庫中插入資料時獲取ID

就是建立一個SEQUENCE,通過它來獲取自增ID ① 在資料庫中操作: CREATE SEQUENCE CONFIG_KEYWORD_GATHER_SEQ;在XXXMapper.xml中程式碼:&l

mybatis 在oracle資料庫中插入資料時獲取ID sequence序列

在oracle中sequence就是序號,每次取的時候它會自動增加。sequence與表沒有關係。 Create Sequence 首先要有CREATE SEQUENCE或者CREATE

資料庫資料刪除id重新從1開始

因為多次反覆儲存刪除資料,自增主鍵id 的值,一直累加,想讓他再從1開始,結果,搜了下,有人說 有兩種方法: 1.delete from Test;   alter table Test set AUTO_INCREMENT=1; 2.truncate table "T

spring jpa 獲取id

1.為實體類的id註解 @GeneratedValue(strategy=GenerationType.IDENTITY) 指定id的生成策略 @Id @GeneratedValue(strategy = GenerationType.IDENTITY)

Entity Framework新增記錄時獲取ID

與Entity Framework相伴的日子痛並快樂著。今天和大家分享一下一個快樂,兩個痛苦。 先說快樂的吧。Entity Framework在將資料插入資料庫時,如果主鍵欄位是自增標識列,會將該自增值返回給實體物件對應的屬性。 比如下面新增部落格隨筆至資料庫的示例程

mysql 插入資料返回 ID 的七種方法

   2. 因為 LAST_INSERT_ID 是基於 Connection 的,只要每個執行緒都使用獨立的 Connection 物件,LAST_INSERT_ID 函式 將返回該 Connection 對 AUTO_INCREMENT列 最新的 insert or update* 作生成的第一個 reco