JDBC獲取自動生成的主健

2021-09-24 05:20:40 字數 1361 閱讀 1876

1.為什麼獲取自動生成的主健

自動生成的主鍵 顧名思義就是資料庫每插入一天資料 id會自增,然而當資料增加很多的時候,如果想更改之前插入的其中某一條資料 你會怎麼 更改,只有id是唯一的主鍵

只有通過主鍵才能確定這條數資料的準確性  在實際應用中 int primarykey=dao.insert(user);每次插入一條資料之後,並把主鍵的id返回回來。

2.怎麼獲取自動生成的主健:分為兩方面 執行靜態sql和執行動態sql兩方面

2.1執行靜態sql-statement

載入驅動

獲取連線物件

獲取執行語句物件

執行sql語句

statement.executeupdate(sql,statement.return_generated_keys)//返回自增的主鍵

statement.executeupdate(sql,statement.no_generated_keys)//不返回自增的主鍵

獲取自增主鍵

resultset resultset = statement.getgeneratedkeys();

處理結果集物件

if (resultset.next()) {

long id = resultset.getlong(1);

system.out.println(id);

釋放資源

2.2執行動態sql-預編譯-preparestatement

載入驅動

獲取連線物件

獲取執行語句物件1 (con.preparestatement("update user set name= ? where id = ?",statement.return_generated_keys))//返回主鍵

獲取執行語句物件2 (con.preparestatement("update user set name= ? where id = ?",statement.no_generated_keys))//不反悔主鍵

給sql新增引數

for (int i = 0; i < parms.length; i++) {

preparestatement.setobject(i + 1, parms[i]);

執行sql語句

preparestatement.executeupdate();

獲取自增主鍵

resultset resultset = preparestatement.getgeneratedkeys();

處理結果集物件

if (resultset.next()) {

long id = resultset.getlong(1);

system.out.println(id);

釋放資源

jdbc獲取自動生成的主鍵

在我們設定設計表時,會設定主鍵,自動增長的主鍵 有時候我們插入資料時,要想知道我們生成的主鍵是多少 就比如這個需求場景 現在註冊賬號的前面是挺簡單的,但是後面要填很多資訊,使用者註冊時,新增使用者名稱,密碼後 就插入到資料庫當中 然後就跳轉成完善個人資訊頁 完善資訊更新到剛插入的那個記錄當中,所以要...

Jdbc的擴充套件 獲取自動生成的主鍵id

jdbc的擴充套件 獲取自動生成的主鍵id一 使用目的 在兩個表關聯的時候,如果乙個表的主鍵是自動生成的,乙個表的主鍵是沒有自動生成,當要通過沒有自動生成的表中的id去查詢自動生成的id時,需要獲取 二 分析 public voidinsert catch sqlexception e finall...

mysql獲取自動生成的id

自增主鍵 insert into user name,password value select last insert id insert into user name,password value select last insert id 得到剛 insert 進去記錄的主鍵值,只適用與自增主...