JDBC返回生成的主鍵

https://www.tomhuwd.com/core-content-4320.html

思路:

通過一個重載的prepareStatement(sql,int);來設(shè)置是否返回由數(shù)據(jù)庫生成的主鍵

然后再使用ps.getGenereatedKeys()來獲得包含主鍵的結(jié)果集

import java.io.FileInputStream;

import java.io.OutputStream;

import java.sql.Blob;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.Statement;

public class ReturnPrimaryKey {

public static void main(String[] args) throws Exception {

write("d:/t.png");

}

public static void write(String dir)throws Exception{

String sql="insert into pic values(null,?)";

try(Connection conn=JdbcUtil.getConnection();

PreparedStatement ps=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);){

//在此處設(shè)置是否返回由數(shù)據(jù)庫生成的主鍵然后用ps.getGeneratedKeys()獲得主鍵的結(jié)果集

Blob blob= conn.createBlob();

OutputStream os=blob.setBinaryStream(1);

FileInputStream fis=new FileInputStream(dir);

byte[]bs=new byte[100];

int size=-1;

while((size=fis.read(bs))!=-1) {

os.write(bs,0,size);

}

fis.close();

os.close();

ps.setBlob(1, blob);

ps.execute();

//獲得生成的主鍵

ResultSet keys=ps.getGeneratedKeys();

keys.next();

System.out.println("生成的主鍵是:"+keys.getInt(1));

System.out.println("完成");

}

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 4,011評論 0 11
  • 一.介紹 JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL...
    走著別浪閱讀 382評論 0 2
  • 回家果然比想象中無聊,沒有什么動力。 不過意外發(fā)現(xiàn)搜狗輸入法的這個皮膚音效不錯,叮叮咚咚的很清脆,有古韻。
    琉璃色的貓閱讀 203評論 0 0
  • 今天去森林公園登山,沿途不斷有小驚喜出現(xiàn),沿上山的小道旁,時不時出現(xiàn)用木板寫的詩句或禪語,是讓登山者邊走邊悟嗎 ...
    鄧雅丹閱讀 493評論 0 0
  • 目錄 丨 上一章 水天間 上 2016年1月2日 水天間窮際平原 箴一行人在窮際平原上往正北行進了大約半個小時,少...
    芊澤巖閱讀 204評論 0 3

友情鏈接更多精彩內(nèi)容