Javaでデータベースに接続するには?
Aug 30, 2024 pm 04:11 PM任意のプログラミング言語を使用して IT アプリケーションを作成する場合、アプリケーションとの間のデータ フローが中核的な機能を果たします。データ フローが何らかの影響を受けると、アプリケーションの機能に悪影響が生じ、ビジネスに重大な損失を引き起こす可能性があります。現在、プログラムをデータベースに接続して、ユーザーに要求した情報を提供し、ユーザーから情報を収集し、ユーザーの要求に応じて情報を削除し、データベースのデータを毎日更新するためのさまざまな方法が利用可能です。私たちは、プログラミング言語として Java、データベース接続方法として JDBC を使用し、オブジェクト指向アプローチに従って、そのようなアプローチの 1 つを検討します。
無料のデータ サイエンス コースを始めましょう
Hadoop、データ サイエンス、統計、その他
JDBC とは何ですか?
JDBC は Java Database Connectivity の略で、Java プログラムがデータベースに対して作成、読み取り、更新、削除などのさまざまな種類の操作を実行するのに役立ちます。また、JDBC は Java API です。
JDBC を使用することで、プログラマは次のことができるようになります。
- データベースとの接続を確立します
- SQL コマンドをデータベースに送信して実行します
- データベースから得られた結果を解釈します
Java でデータベースを接続するためのデータベースを作成する
JDBC を使用する前に、JDBC に接続するためのデータベースが必要です。説明のために Oracle データベースを使用します。以下のリンクから Oracle 11g Express Edition をダウンロードしてください。
ここをクリック
以下に示すように、Oracle 10g インストーラーはすでに用意されています。
ソース: 私のデスクトップから
- インストーラーをダブルクリックしてください。以下の画面が表示されます。 「次へ」をクリックします。
ソース: 私のデスクトップから
- 使用許諾契約に同意し、「次へ」をクリックしてください。
ソース: 私のデスクトップから
- デフォルト設定をそのままにして、「次へ」をクリックしてください。
ソース: 私のデスクトップから
- Oracle 11g インスタンスにログインするときに必要となるパスワードを要求されます。パスワードを入力して「次へ」をクリックしてください。
ソース: 私のデスクトップから
- パスワードを入力すると、インストール プロセスが開始されます。インストールが完了すると、デスクトップ画面にショートカットアイコンが作成されます。見つからない場合は、Windows スタートに移動して Oracle を検索してください。あなたはそれを手に入れる必要があります。それをクリックすると、ブラウザ経由でシン クライアントが開きます。インスタンスにログインします。ユーザー名は Oracle DB、つまりシステムでも同じであることに注意してください。パスワードは、データベースの構成時に指定したものになります。
出典: 私のデスクトップから
- ログインすると、最初に次のような画面が表示されます:
出典: 私のデスクトップから
- 次に、テーブルを作成しましょう。上の画面で SQL モジュールをクリックし、以下のクエリを実行してください。
出典: 私のデスクトップから
- ご覧のとおり、Educba という名前のテーブルが正常に作成されました。
Java でデータベースに接続
データベースに接続し、JDBC API を使用して操作を実行するには、いくつかのインターフェイスとクラスが使用されます。
一つずつ説明していきますが、まずは以下のプログラムを紹介します。
出典: 私のデスクトップから
以下は、データベースに接続し、データベース上で操作を実行するために使用するインターフェイスです。
- ドライバーマネージャー
- 接続
- 声明
- 結果セット
- 準備されたステートメント
JDBC 操作の一部として実行できる操作を見てみましょう。
- エンティティからデータベースにデータを保存します。つまり、オペレーションを作成します。
- データベースからエンティティまたは Bean にデータを取得します
- データベース内のエンティティまたは Bean のデータを更新します
- エンティティまたは Bean のデータをデータベースから削除または削除します。
どのような操作を実行しても、いくつかの基本的な手順は変わりません。
- ドライバーをロードします。
class.forName("oracle.jdbc.driver.OracleDriver");
- URL 文字列を作成します
String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";
- ドライバーマネージャーを使用して接続を作成します
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
- 接続参照を使用してステートメントを作成します
stmt = conn.createStatement();
- ステートメントを使用してクエリを実行します
6.結果セットを処理します (オプション、依存)
7.最後のブロックでリソースを解放します。
イラスト
この図では Oracle データベースを使用しているため、Oracle が提供する必要のあるドライバーが必要です。ドライバー クラスは通常、ojdbc14.jar という名前の jar ファイルの形式です。このドライバーが存在しない場合は、「参照ライブラリ」の一部として Java プログラムにインポートする必要があります。
Oracle 11g を C フォルダーにインストールしている場合は、次のパスにあることが理想的です (そこにない場合は、ここから簡単にダウンロードできます)
C: oracleexe アプリ oracle 製品 10.2.0 サーバー jdbc lib
出典: 私のデスクトップから
多くの jar ファイルが利用可能であるはずです。ただし、ojdbc14.jar は最新です。同じことが私たちの目的にも使用できます。この jar はプロジェクトのクラスパスに追加する必要があります。下の画像をご確認ください。
出典: 私のデスクトップから
次の属性を持つアーティスト テーブルを作成してみましょう: SQL コマンド ラインを Oracle Express Edition の別個のモジュールとして直接実行できます。ただし、まず接続する必要があります。「connect」コマンドを実行してデータベースに接続します。
出典: 私のデスクトップから
この図の一部として、これを実現するために、Artist.java、CreateTable.java、ArtistManagementDao.java という 3 つの Java クラスを作成します。
また、Java 層に Artist Bean というクラスを作成する必要があります。このクラスには、上記のコンテキストを持つアーティストの属性が必要です。以下のようになります:
アーティスト.java
ArtistManagementDao と CreateTable.java という名前の他の 2 つの Java クラスを作成しましょう。
ArtistManagementDao.java
package com; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class ArtistManagementDao { private final static String DRIVERNAME="oracle.jdbc.driver.OracleDriver"; private final static String URL="jdbc:oracle:thin:@LENOVO-PC:1521:XE"; private final static String USERNAME="System"; private final static String PASSWORD="Your DB password"; private Connection con =null; public void addArtist(Artist a) { try { Class.forName(DRIVERNAME); String sql="insert into Artist1 values (?,?)"; con=DriverManager.getConnection(URL, USERNAME, PASSWORD); PreparedStatement pst=con.prepareStatement(sql); pst.setString(1, a.getArtistID()); pst.setString(2, a.getArtistName()); pst.executeUpdate(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block System.out.println(e); } catch (SQLException e) { System.out.println(e); } } }
説明:
- Dao クラスは、アプリケーション/ビジネス層を永続層から分離するのに役立ちます。通常、これはリレーショナル データベースです。
- コンピュータ名と DB ポート番号 (理想的には 1521 ) を先頭に JDBC:oracle:thin:@ を付けた DB URL を作成しました。次に、データベース接続中にこれらの属性を渡すためのユーザー名とパスワードを作成しました。運用環境ではこれらの値を暗号化することを強くお勧めします。
- addArtist メソッド内で、conn ステートメントを使用して前に学習した手順に従って接続を確立しようとしました。
- 挿入メソッドを使用して、属性からデータベースに値をプッシュしました。
- テストする次のステートメントには、データベースから値を取得する get ステートメントがあります。
- 例外をキャッチして例外をスローするためにブロックをキャッチすることも試みました。
CreateTable.java
package com; import java.sql.*; public class CreateTable{ static final String DB_URL = "jdbc:oracle:thin:@LENOVO-PC:1521:XE"; static final String USER = "System"; static final String PASS = "Your DB Password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ ArtistManagementDao am=new ArtistManagementDao(); Artist a=new Artist(); Class.forName("oracle.jdbc.driver.OracleDriver"); System.out.println("Connecting to a selected database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("Connected to database successfully"); System.out.println("Creating table"); stmt = conn.createStatement(); //ARTIST TABLE String sql = "CREATE TABLE Artist3 " + "(ArtistID varchar2(5) primary key not NULL, " + " ArtistName varchar2(25))"; stmt.executeUpdate(sql); System.out.println("Created table in given database..."); a.setArtistId("abc"); a.setArtistName("ankit"); am.addArtist(a); System.out.println("\nArtistID="+a.getArtistID()+"\nArtistName="+a.getArtistName()); }catch(SQLException se){ se.printStackTrace(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(stmt!=null) conn.close(); }catch(SQLException se){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } } }
説明:
- コンピュータ名と DB ポート番号 (理想的には 1521 ) を先頭に JDBC:oracle:thin:@ を付けた DB URL を作成しました。次に、データベース接続中にこれらの属性を渡すためのユーザー名とパスワードを作成しました。運用環境ではこれらの値を暗号化することを強くお勧めします。
- CreateTable.java クラスで、ArtistManagementDao.java クラスと Artist.java クラスのオブジェクト「am」と「a」をそれぞれ作成しました。
- 次に、conn ステートメントを使用して前に学んだ手順に従って、接続を確立しようとしました。
- 次に、Artist3 という名前のテーブルを作成し、データベースを更新するか、execute the ステートメントを使用してこれをデータベースにプッシュしました。
- 属性に値を割り当てたい場合は、アーティスト クラス用に作成したオブジェクトを使用しますが、このクラスはデータベースに値を挿入しないことに注意してください。 ArtistmanagementDao クラスになります。すでに値を属性に保存しています。これをデータベースにプッシュする方法については、その日のクラスで説明します。
- 最後に、ArtistManagementDao の「am」オブジェクトを使用して、このオブジェクト「a」を ArtistManagementDao Java クラスのメソッド addArtist() に渡しました。
- 例外をキャッチして例外をスローするためにブロックをキャッチすることも試みました。
以上がJavaでデータベースに接続するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

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

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

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

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

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

ホットトピック









