JDBC获得数据库生成的主键(JDBC、Primary Key)
JDBC获得数据库生成的主键 佟强 http://blog.csdn.net/microtong 在实际开发中,数据库中表的主键经常会由数据库负责生成,INSERT语句插入数据时插入除了主键以外的字段。很多情况下,当INSERT语句提交给数据库引擎执行完成后,程序需要获得生成的主键以便根
JDBC获得数据库生成的主键 佟强 http://blog.csdn.net/microtong
在实际开发中,数据库中表的主键经常会由数据库负责生成,INSERT语句插入数据时插入除了主键以外的字段。很多情况下,当INSERT语句提交给数据库引擎执行完成后,程序需要获得生成的主键以便根据主键查询插入的记录。JDBC通过在调用语句对象的executeUpdate()方法时,给出第二个参数Statement.RETURN_GENERATED_KEYS
来说明希望数据库引擎返回生成的主键。生成的主键以结果集的形式返回,程序调用语句对象的getGeneratedKeys()
方法得到一个结果集。遍历这个结果集,即得到数据库生成的主键。
我们以MySQL5.0数据库为例,创建会员表“member”,其中字段ID是数据负责生成的自动增量的整数。下列SQL语句创建会员表:
/* 创建MySQL5.0 表member*/
create table member(
id int not null auto_increment
, /*数据库自动生成的主键*/
name varchar(100), /*会员姓名*/
email varchar(255), /*电子邮件*/
primary key (id)
)type = InnoDB default character set gbk;
获得主键的代码 GeneratedKey.java
package cn.oakcms;
import java.sql.*;
public class GeneratedKey {
public static void main(String[] args) {
Connection conn = null; //连接对象
Statement stmt = null; //语句对象
ResultSet rs = null; //结果集
try{
//加载MySQL驱动程序
Class.forName("com.mysql.jdbc.Driver");
//连接字符串
String url = "jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=gbk";
//建立数据库连接
conn = DriverManager.getConnection(url,"root","");
//创建语句对象
stmt = conn.createStatement();
//INSERT语句
String sql = "insert into member(name,email) values('张三','zhangsan@gmail.com')
";
//执行INSERT语句,说明要返回数据库生成的主键
int count = stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
System.out.println("成功插入"+count+"条记录!");
//产生的主键以结果集的形式返回
rs = stmt.getGeneratedKeys();
//遍历结果集,输出主键,实际上结果集只有一条记录
while(rs.next()){
long id = rs.getLong(1);
System.out.println("产生的主键是:"+id);
}
//关闭结果集、语句、连接
rs.close(); stmt.close(); conn.close();
}catch(Exception e){
e.printStackTrace();
}finally{
if(rs!=null) try{rs.close();}catch(Exception ignore){}
if(stmt!=null) try{stmt.close();}catch(Exception ignore){}
if(conn!=null) try{conn.close();}catch(Exception ignore){}
}
}
}
程序的运行结果如下,每次运行都将插入一条新的记录,生成一个新的ID。
成功插入1条记录!
产生的主键是:6
OakCMS内容管理系统 http://www.oakcms.cn

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go 言語は、効率的かつ簡潔で習得が容易なプログラミング言語であり、同時プログラミングやネットワーク プログラミングに優れているため、開発者に好まれています。実際の開発ではデータベースの操作が欠かせませんが、今回はGo言語を使ってデータベースの追加・削除・変更・クエリ操作を実装する方法を紹介します。 Go 言語では、データベースを操作するために通常、よく使用される SQL パッケージや gorm などのサードパーティ ライブラリを使用します。ここでは SQL パッケージを例として、データベースの追加、削除、変更、クエリ操作を実装する方法を紹介します。 MySQL データベースを使用していると仮定します。

プレイヤーはバトル ダブル パミッシュでプレイするときにルシアのクリムゾン アビスを入手できます。多くのプレイヤーはルシアのクリムゾン アビスの入手方法を知りません。プレイヤーは研究開発を通じて入手するか、ファントム ペイン ケージ ストアで引き換えることができます。バトルダブルパミシュ ルチア クリムゾンアビスのR&D入手方法 1.ベースカードプール、テーマ限定カードプール、デスティニー限定カードプールのR&Dシステムから抽選で入手できます 2.これらのカードプールで公開されますシア・クリムゾン・アビスの基本ドロップ率は1.50%ですが、カードプールからルシア・クリムゾン・アビスを引くとドロップ率が1.90%にアップします。ファントム ペイン ケージ ストアでの引き換え 1. プレイヤーは、ファントム ペイン ケージ ストアでファントム ペイン スカーを使用して、ルシア クリムゾン アビスのフラグメントを引き換えることができます。 2.毎週最大 30 個のフラグメントを引き換えることができます。

パッチ不可能な Yubico の 2 要素認証キーの脆弱性により、ほとんどの Yubikey 5、セキュリティ キー、および YubiHSM 2FA デバイスのセキュリティが破られています。 Feitian A22 JavaCard および Infineon SLB96xx シリーズ TPM を使用するその他のデバイスも脆弱です。すべて

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

HTML はデータベースを直接読み取ることはできませんが、JavaScript と AJAX を通じて実現できます。この手順には、データベース接続の確立、クエリの送信、応答の処理、ページの更新が含まれます。この記事では、JavaScript、AJAX、および PHP を使用して MySQL データベースからデータを読み取る実践的な例を示し、クエリ結果を HTML ページに動的に表示する方法を示します。この例では、XMLHttpRequest を使用してデータベース接続を確立し、クエリを送信して応答を処理することで、ページ要素にデータを埋め込み、データベースを読み取る HTML の機能を実現します。

PHP は Web サイト開発で広く使用されているバックエンド プログラミング言語であり、強力なデータベース操作機能を備えており、MySQL などのデータベースとの対話によく使用されます。ただし、中国語の文字エンコーディングは複雑であるため、データベース内で中国語の文字化けを処理するときに問題が発生することがよくあります。この記事では、文字化けの一般的な原因、解決策、具体的なコード例を含め、データベース内の中国語の文字化けを処理するための PHP のスキルと実践方法を紹介します。文字化けの一般的な原因は、データベースの文字セット設定が正しくないことです。データベースの作成時に、utf8 や u などの正しい文字セットを選択する必要があります。
