JDBC插入數(shù)據(jù)返回?cái)?shù)據(jù)主鍵代碼實(shí)例
Java數(shù)據(jù)庫(kù)連接,(Java Database Connectivity,簡(jiǎn)稱JDBC)是Java語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫(kù)的應(yīng)用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法。JDBC也是Sun Microsystems的商標(biāo)。我們通常說的JDBC是面向關(guān)系型數(shù)據(jù)庫(kù)的。
代碼如下
package com.test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
import java.util.Properties;
/**
* 數(shù)據(jù)庫(kù)連接對(duì)象管理類
* @說明
* @author cuisuqiang
* @version 1.0
* @since
*/
public class ConnectionManager {
private static final String url = "jdbc:mysql://localhost:3306/test";
private static final String username = "root";
private static final String userpass = "root";
@SuppressWarnings("deprecation")
public static void main(String[] args) throws Exception{
Connection conn = getConnection();
if (null != conn) {
String sql = "insert into common_user (name) values(?)";
// 指定返回生成的主鍵
PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
// 如果使用靜態(tài)的SQL,則不需要?jiǎng)討B(tài)插入?yún)?shù)
pstmt.setString(1, new Date().toLocaleString());
pstmt.executeUpdate();
// 檢索由于執(zhí)行此 Statement 對(duì)象而創(chuàng)建的所有自動(dòng)生成的鍵
ResultSet rs = pstmt.getGeneratedKeys();
if (rs.next()) {
Long id = rs.getLong(1);
System.out.println("數(shù)據(jù)主鍵:" + id);
}
}
}
public static Connection getConnection() {
Connection conn = null;
try {
com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
Properties properties = new Properties();
properties.put("user", username);
properties.put("password", userpass);
conn = driver.connect(url, properties);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
}
打印生成的主鍵:
數(shù)據(jù)主鍵:25
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JDBC連接MySQL數(shù)據(jù)庫(kù)批量插入數(shù)據(jù)過程詳解
- JDBC連接MySql數(shù)據(jù)庫(kù)步驟 以及查詢、插入、刪除、更新等
- java中JDBC實(shí)現(xiàn)往MySQL插入百萬級(jí)數(shù)據(jù)的實(shí)例代碼
- Java使用JDBC向MySQL數(shù)據(jù)庫(kù)批次插入10W條數(shù)據(jù)(測(cè)試效率)
- 使用JDBC在MySQL數(shù)據(jù)庫(kù)中如何快速批量插入數(shù)據(jù)
- Java使用JDBC或MyBatis框架向Oracle中插入XMLType數(shù)據(jù)
- java實(shí)現(xiàn)jdbc批量插入數(shù)據(jù)
- JDBC鏈接mysql插入數(shù)據(jù)后顯示問號(hào)的原因及解決辦法
相關(guān)文章
Spring AOP與AspectJ的對(duì)比及應(yīng)用詳解
這篇文章主要為大家介紹了Spring AOP與AspectJ的對(duì)比及應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Java線程安全的常用類_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
在集合框架中,有些類是線程安全的,這些都是jdk1.1中的出現(xiàn)的。在jdk1.2之后,就出現(xiàn)許許多多非線程安全的類。 下面是這些線程安全的同步的類2017-06-06
Java數(shù)據(jù)結(jié)構(gòu) 遞歸之迷宮回溯案例講解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)遞歸之迷宮回溯案例講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Elasticsearch?自動(dòng)重啟腳本創(chuàng)建實(shí)現(xiàn)
這篇文章主要為大家介紹了Elasticsearch?自動(dòng)重啟腳本創(chuàng)建實(shí)現(xiàn)詳解分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Java 內(nèi)省(Introspector)深入理解
這篇文章主要介紹了Java 內(nèi)省(Introspector)深入理解的相關(guān)資料,需要的朋友可以參考下2017-03-03
SpringBoot使用OkHttp完成高效網(wǎng)絡(luò)請(qǐng)求詳解
OkHttp 是一個(gè)高效的 HTTP 客戶端,支持同步和異步請(qǐng)求,且具備自動(dòng)處理 cookie、緩存和連接池等高級(jí)功能,下面我們來看看SpringBoot如何利用 OkHttp 完成高效網(wǎng)絡(luò)請(qǐng)求吧2025-03-03
java web在高并發(fā)和分布式下實(shí)現(xiàn)訂單號(hào)生成唯一的解決方案
這篇文章主要介紹了java web在高并發(fā)和分布式下實(shí)現(xiàn)訂單號(hào)生成唯一的解決方案,需要的朋友可以參考下2017-11-11

