logo

Java での JDBC 接続の確立

前に Java での JDBC 接続の確立 (フロントエンド、つまり Java プログラムとバックエンド、つまりデータベース) JDBC とは正確には何なのか、そしてなぜそれが存在するようになったのかを学ぶ必要があります。ここで、JDBC が正確に何を表しており、それを機能させるために実際の図の助けを借りて簡単に説明します。

カイリー・ジェンナーは何歳ですか

JDBCとは何ですか?

JDBC Java Database Connectivity の頭字語です。これは ODBC (Open Database Connectivity) の進歩です。 JDBC は、フロントエンドからバックエンドにデータを移動するために開発された標準 API 仕様です。この API は、Java で記述されたクラスとインターフェイスで構成されます。これは基本的に、Java プログラムとデータベース間のインターフェイス (Java で使用するものではありません) またはチャネルとして機能します。つまり、プログラマーが Java コードからデータを送信し、将来の使用のためにデータベースに保存できるように、2 つの間のリンクを確立します。 。



図: リアルタイムと連携したJDBCの仕組み

JDBC のリアルタイム作業

JDBC はなぜ存在するのでしょうか?

JDBC は ODBC の進歩であると前に述べたように、プラットフォームに依存する ODBC には多くの欠点がありました。 ODBC API は C、C++、Python、および Core Java で記述されており、上記の言語 (Java と Python の一部を除く) はプラットフォームに依存します。したがって、依存性を取り除くために、Java で書かれたクラスとインターフェイスで構成される JDBC がデータベース ベンダーによって開発されました。



Java アプリケーションをデータベースに接続する手順

以下は、Java でデータベースに接続する方法を説明する手順です。

ステップ1 – パッケージをインポートする
ステップ2 – 次のコマンドを使用してドライバーをロードします。 forName() メソッド
ステップ3 – ドライバーを登録する DriverManagerを使用する
ステップ4 – 接続を確立する Connection クラス オブジェクトを使用する
ステップ5 – ステートメントを作成する
ステップ6 – クエリを実行します
ステップ7 – 接続を閉じます

Java データベース接続

Java での JDBC 接続の確立



JDBC の接続手順を示す適切なコードを作成して実装する前に、これらの手順について簡単に説明します。

ステップ1: パッケージをインポートする

ステップ2: ドライバーをロードする

まず、プログラムで使用する前に、ドライバーをロードするか登録する必要があります。登録はプログラム内で一度行う必要があります。以下に示す 2 つの方法のいずれかでドライバーを登録できます。

2-A Class.forName()

ここでは、実行時にドライバーのクラス ファイルをメモリにロードします。新しいオブジェクトを使用したり、オブジェクトを作成したりする必要はありません。次の例では、Class.forName() を使用して、次に示すように Oracle ドライバーをロードします。

Class.forName(oracle.jdbc.driver.OracleDriver);>

2-B DriverManager.registerDriver()

DriverManager は、静的メンバー レジスタを持つ Java 組み込みクラスです。ここでは、コンパイル時にドライバー クラスのコンストラクターを呼び出します。次の例では、次に示すように DriverManager.registerDriver() を使用して Oracle ドライバーを登録します。

 DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())>

ステップ 3: 接続を確立する を使用して 接続クラスオブジェクト

ドライバーをロードした後、次のように接続を確立します。

Connection con = DriverManager.getConnection(url,user,password)>
  • ユーザー:U SQL コマンド プロンプトにアクセスできる sername。
  • パスワード: SQL コマンド プロンプトにアクセスできるパスワード。
  • と: これは、Connection インターフェイスへの参照です。
  • URL : 以下に示すように作成されるUniform Resource Locator:
String url = jdbc:oracle:thin:@localhost:1521:xe>

oracle は使用するデータベース、thin は使用するドライバー、@localhost はデータベースが保存されている IP アドレス、1521 はポート番号、xe はサービスプロバイダーです。上記の 3 つのパラメータはすべて String 型であり、関数を呼び出す前にプログラマによって宣言されます。これを使用して、最終的なコードを形成するために参照できます。

ステップ 4: ステートメントを作成する

接続が確立されると、データベースと対話できるようになります。 JDBCStatement、CallableStatement、および PreparedStatement インターフェイスは、SQL コマンドを送信し、データベースからデータを受信できるようにするメソッドを定義します。
JDBC ステートメントの使用方法は次のとおりです。

Javaジェネリックス
Statement st = con.createStatement();>

注記: ここで、 con は、前の手順で使用した接続インターフェイスへの参照です。

ステップ5: クエリを実行する

ここからが最も重要な部分、つまりクエリの実行です。ここでのクエリは SQL クエリです。これで、複数の種類のクエリを使用できることがわかりました。その一部は次のとおりです。

  • データベース内のテーブルを更新/挿入するためのクエリ。
  • データを取得するためのクエリ。

のexecuteQuery()メソッド ステートメントインターフェイス データベースから値を取得するクエリを実行するために使用されます。このメソッドは、テーブルのすべてのレコードを取得するために使用できる ResultSet のオブジェクトを返します。
更新・挿入のクエリを実行するには、StatementインタフェースのexecuteUpdate(sql query)メソッドを使用します。

疑似コード:

int m = st.executeUpdate(sql); if (m==1)  System.out.println('inserted successfully : '+sql); else  System.out.println('insertion failed');>

ここで、sql は文字列型の SQL クエリです。

ジャワ




ストアドプログラム制御
// This code is for establishing connection with MySQL> // database and retrieving data> // from db Java Database connectivity> /*> >*1. import --->java.sql>>' ; // table details> >String username =>'rootgfg'>;>// MySQL credentials> >String password =>'gfg123'>;> >String query> >=>'select *from students'>;>// query to be run> >Class.forName(> >'com.mysql.cj.jdbc.Driver'>);>// Driver name> >Connection con = DriverManager.getConnection(> >url, username, password);> >System.out.println(> >'Connection Established successfully'>);> >Statement st = con.createStatement();> >ResultSet rs> >= st.executeQuery(query);>// Execute query> >rs.next();> >String name> >= rs.getString(>'name'>);>// Retrieve name from db> >System.out.println(name);>// Print result on console> >st.close();>// close statement> >con.close();>// close connection> >System.out.println(>'Connection Closed....'>);> >}> }>

>

>

出力 :

コンソールウィンドウ

ステップ 6: 接続を閉じる

それで、ついに指定された場所にデータを送信し、タスクが完了する寸前まで来ました。接続を閉じると、Statement と ResultSet のオブジェクトが自動的に閉じられます。接続を閉じるには、Connection インターフェイスの close() メソッドが使用されます。以下に示すと次のようになります。

 con.close();>

例:

ジャワ

私のモニターはどのくらいの大きさですか




postgresqlで列を削除する方法

// Java Program to Establish Connection in JDBC> // Importing database> import> java.sql.*;> // Importing required classes> import> java.util.*;> // Main class> class> Main {> >// Main driver method> >public> static> void> main(String a[])> >{> >// Creating the connection using Oracle DB> >// Note: url syntax is standard, so do grasp> >String url =>'jdbc:oracle:thin:@localhost:1521:xe'>;> >// Username and password to access DB> >// Custom initialization> >String user =>'system'>;> >String pass =>'12345'>;> >// Entering the data> >Scanner k =>new> Scanner(System.in);> >System.out.println(>'enter name'>);> >String name = k.next();> >System.out.println(>'enter roll no'>);> >int> roll = k.nextInt();> >System.out.println(>'enter class'>);> >String cls = k.next();> >// Inserting data using SQL query> >String sql =>'insert into student1 values(''> + name> >+>'','> + roll +>',''> + cls +>'')'>;> >// Connection class object> >Connection con =>null>;> >// Try block to check for exceptions> >try> {> >// Registering drivers> >DriverManager.registerDriver(> >new> oracle.jdbc.OracleDriver());> >// Reference to connection interface> >con = DriverManager.getConnection(url, user,> >pass);> >// Creating a statement> >Statement st = con.createStatement();> >// Executing query> >int> m = st.executeUpdate(sql);> >if> (m ==>1>)> >System.out.println(> >'inserted successfully : '> + sql);> >else> >System.out.println(>'insertion failed'>);> >// Closing the connections> >con.close();> >}> >// Catch block to handle exceptions> >catch> (Exception ex) {> >// Display message when exceptions occurs> >System.err.println(ex);> >}> >}> }>

>

>

データベースにデータをインポートした後の出力:

データインポート後の出力画面