Java >> Java チュートリアル >  >> Tag >> Jdbc

Java でデータベースに接続するには? – JDBC チュートリアル

最も有名なプログラミング言語の 1 つである Java は、データベースを幅広くサポートしています。 JDBC (Java Database Connectivity) を介してさまざまなデータベースに接続するのに役立ちます。この記事では、JDBC を使用してデータベースに接続し、クエリを実行する方法を説明します。

この記事では以下のトピックについて説明します:

  • JDBC の紹介
  • 共通の JDBC コンポーネント
  • JDBC アプリケーションの作成手順
  • JDBC 接続

JDBC の概要

JDBC は、Java プログラミング言語とさまざまなデータベースとの間でデータベースに依存しない接続を行うための標準 Java API の 1 つです。この API を使用すると、構造化照会言語 (SQL) でアクセス要求ステートメントをエンコードできます。これには主に、接続の開始、SQL データベースの作成、SQL クエリの実行、および出力への到達が含まれます。

JDBC API を使用して、リレーショナル データベースに格納されている表形式のデータにアクセスできます。これにより、データベースからデータを更新、保存、取得、および削除できます。これは、Microsoft が提供する Open Database Connectivity (ODBC) に似ています。

JDBC の動作をよりよく理解するために、トピックを深く掘り下げて、Java データベース接続の背後にあるアーキテクチャを理解しましょう。

共通の JDBC コンポーネント

JDBC API は、次のインターフェースとクラスを提供します −

  • DriverManager: これは主に、データベース ドライバのリストを管理するために使用されます。特定のサブプロトコルを認識するドライバーは、データベース接続を確立するために使用されます。

  • ドライバー データベース サーバーとの通信を処理するインターフェイスです。また、Driver オブジェクトの操作中に関連する詳細を抽象化します。

  • つながり データベースへの接続に必要なすべてのメソッドで構成されるインターフェイスです。接続オブジェクトは、データベースの通信機能を扱います。

次のトピックに移り、JDBC アプリケーションの作成に必要な手順を見てみましょう。

JDBC アプリケーションの作成手順

JDBC アプリケーションを作成するには、いくつかの手順に従う必要があります。見てみましょう。

<オール>
  • パッケージをインポートします: データベース プログラミングに必要な JDBC クラスを含むすべてのパッケージを含める必要があります。ほとんどの場合、import java.sql.* を使用します。

  • JDBC ドライバーを登録します: ここでは、データベースとの通信チャネルを開くことができるように、ドライバーを初期化する必要があります。

  • 接続を開く: ここで、getConnection() を使用できます データベースとの物理的な接続を表す Connection オブジェクトを作成するメソッド。

  • クエリを実行: これには、SQL ステートメントを作成してデータベースに送信するために、Statement 型のオブジェクトを使用する必要があります。

  • 結果セットからデータを抽出: 適切な getXXX() を使用することをお勧めします 結果セットからデータを取得するメソッド

  • 環境をクリーンアップ: ここでは、JVM のガベージ コレクションに依存するのではなく、すべてのデータベース リソースを明示的に閉じることが不可欠です。

  • JDBC アプリケーションを作成するためのさまざまな手順を確認したので、データベースを作成して接続を確立するコード例を見てみましょう。

    package Edureka;
    import java.sql.*;
    import java.sql.DriverManager;
    public class Example {
    // JDBC driver name and database URL
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost/emp";
    // Database credentials
    static final String USER = "root";
    static final String PASS = "";
    public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    try{
    //STEP 2: Register JDBC driver
    Class.forName("com.mysql.cj.jdbc.Driver");
    //STEP 3: Open a connection
    System.out.println("Connecting to database...");
    conn = DriverManager.getConnection(DB_URL,"root","");
    //STEP 4: Execute a query
    System.out.println("Creating statement...");
    stmt = conn.createStatement();
    String sql;
    sql = "SELECT id, first, last, age FROM Employees";
    ResultSet rs = stmt.executeQuery(sql);
    //STEP 5: Extract data from result set
    while(rs.next()){
    //Retrieve by column name
    int id = rs.getInt("id");
    int age = rs.getInt("age");
    String first = rs.getString("first");
    String last = rs.getString("last");
    //Display values
    System.out.print("ID: " + id);
    System.out.print(", Age: " + age);
    System.out.print(", First: " + first);
    System.out.println(", Last: " + last);
    }
    //STEP 6: Clean-up environment
    rs.close();
    stmt.close();
    conn.close();
    }catch(SQLException se){
    //Handle errors for JDBC
    se.printStackTrace();
    }catch(Exception e){
    //Handle errors for Class.forName
    e.printStackTrace();
    }finally{
    //finally block used to close resources
    try{
    if(stmt!=null)
    stmt.close()
    }catch(SQLException se2){
    }// nothing can be done
    try{
    if(conn!=null)
    conn.close();
    }catch(SQLException se){
    se.printStackTrace();
    }//end finally try
    }//end try
    System.out.println("Goodbye!");
    }//end main
    } // end Example

    上記のコードは、localhost データベースにテーブルを作成します。作成したデータベースに値を挿入するには、以下のコードを参照できます。ステップ 4 のコードのみを記述します。残りのコードは上記と同じままです。

    //STEP 4: Execute a query
    System.out.println("Creating table in given database...");
    stmt = conn.createStatement();
    String sql = "CREATE TABLE EMPLOYEES " +
    "(id INTEGER not NULL, " +
    " first VARCHAR(255), " +
    " last VARCHAR(255), " +
    " age INTEGER, " +
    " PRIMARY KEY ( id ))";
    stmt.executeUpdate(sql);
    System.out.println("Created table in given database...");
    System.out.println("Inserting records into the table...");
    stmt =conn.createStatement();
    String sql ="INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18)";
    stmt.executeUpdate(sql);
    sql = "INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25)";
    stmt.executeUpdate(sql);
    sql= "INSERT INTO Employees (102, 'Taylor', 'Swift', 30)";
    stmt.executeUpdate(sql);
    sql= "INSERT INTO Employees VALUES(103, 'Linkin', 'Park', 28)";
    stmt.executeUpdate(sql);
    System.out.println("Inserted records into the table...");

    データベースへの接続を確立し、テーブルに値を挿入する方法は次のとおりです。さらに進んで、さまざまな JDBC ドライバーの種類を理解しましょう

    JDBC ドライバーの種類

    JDBC ドライバーは、データベース サーバーと対話するために、JDBC API で定義されたインターフェイスを実装するために使用されます。基本的に、JDBC ドライバー 3つのことを行い、それらは次のとおりです。
    1. データ ソースとの接続を確立します。
    2. クエリと更新ステートメントをデータ ソースに送信します。
    3. 最後に、結果を処理します。

    たとえば、JDBC ドライバーを使用すると、SQL またはデータベース コマンドを送信することで、データベース接続を開いて対話することができます。 JDBC ドライバーの種類について詳しく知りたい場合は、JDBC ドライバーに関するこの記事を参照してください。

    では、さらに進んで JDBC 接続について理解しましょう。

    JDBC 接続

    • JDBC パッケージのインポート: インポート を追加 ステートメントを Java プログラムに追加して、必要なクラスを Java コードにインポートします。

    • JDBC ドライバーの登録:In t 彼のステップである JVM は、目的のドライバー実装をメモリーにロードして、JDBC 要求を満たすことができるようにします。ドライバーを登録するには 2 つの方法があります。

      • ドライバを登録する最も適切な方法は、Java の forName() を使用することです。 ドライバのクラス ファイルをメモリに動的にロードするメソッド、自動的に登録されます。 この方法は、ドライバー登録を構成可能で移植可能にすることができるため、適しています。以下のコードを見てください:

        try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        }
        catch(ClassNotFoundException ex) 
        System.out.println("Error: unable to load driver class!");
        System.exit(1);
        }
      • ドライバーを登録するために使用できる 2 つ目の方法は、静的な registerDriver() を使用することです。 メソッド。

        try {
        Driver myDriver = new oracle.jdbc.driver.OracleDriver();
        DriverManager.registerDriver( myDriver );
        }
        catch(ClassNotFoundException ex)
        {
        System.out.println("Error: unable to load driver class!");
        System.exit(1);
        }
    • registerDriver() を使用する必要があります Microsoft が提供するものなど、JDK に準拠していない JVM を使用している場合は、このメソッドを使用してください。ここでは、各フォームにデータベース URL が必要です .

    • データベース URL の作成: 接続先のデータベースを指す適切な形式のアドレスを作成するには、URL の作成が必要です。ドライバをロードしたら、DriverManager.getConnection() を使用して接続を確立できます。 方法。 DriverManager.getConnection() メソッドは-

      • getConnection(文字列 URL)

      • getConnection(String url, Properties prop)

      • getConnection(文字列 URL、文字列ユーザー、文字列パスワード)

    • 接続オブジェクトを作成する

    データベース URL、ユーザー名、パスワード、およびプロパティ オブジェクトを使用して接続を作成できます。

    • 閉じる

    最後に、データベース セッションを終了するには、すべてのデータベース接続を閉じる必要があります。ただし、忘れた場合、Java のガベージ コレクターは古いオブジェクトをクリーンアップするときに接続を閉じます。

    conn.close(); // Used to close the connection

    Java データベース接続については以上です。 JDBC について詳しく知りたい場合は、高度な Java チュートリアルに関するこの記事を参照してください。これで、「データベースへの接続方法」に関する記事は終わりです。 JDBC に関するあなたの知識に光を当てることができたと思います.

    Edureka による Java オンライン トレーニングをご覧ください。Edureka は信頼できるオンライン学習会社で、世界中に 250,000 人以上の満足している学習者のネットワークがあります。この Java 面接の質問以外にも、Java 開発者になりたい学生や専門家向けに設計されたカリキュラムを用意しています。

    質問がありますか?この「データベースへの接続方法」の記事のコメント セクションにその旨を記載してください。できるだけ早くご連絡いたします。


    Java タグ