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



この記事では、JavaでMySQLデータベースに接続する方法について説明します。 JDBCは、Javaとさまざまなデータベース間のデータベースに依存しない接続のための標準JavaAPIの1つです。

は、最も著名なプログラミング言語の1つであり、データベースに広範なサポートを提供します。それは私たちがさまざまなデータベースに接続するのに役立ちます (Javaデータベースコネクティビティ)。この記事では、データベースに接続し、JDBCを使用してクエリを実行する方法を説明します。

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





JDBCの概要

JDBCは、データベースに依存しない接続のための標準JavaAPIの1つです。 と幅広いデータベース。このAPIを使用すると、アクセス要求ステートメントをでエンコードできます。 構造化照会言語 ((SQL)。この主に、接続を開き、SQLデータベースを作成し、SQLクエリを実行してから、出力に到達する必要があります。

セレンでのクロスブラウザテスト

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



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

一般的なJDBCコンポーネント

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

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



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

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

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

JDBCアプリケーションを作成する手順

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

JDBCアプリケーションを作成する手順-高度なJavaチュートリアル-Edureka

  1. パッケージをインポートします。 に必要なJDBCクラスを含むすべてのパッケージを含める必要があります データベースプログラミング 。ほとんどの場合、 java.sql。*をインポートします 十分であろう。

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

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

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

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

  6. 環境をクリーンアップします。 ここでは、JVMのガベージコレクションに依存するのではなく、すべてのデータベースリソースを明示的に閉じます。

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

package Edureka importjava.sql。* import java.sql.DriverManager publicclass例{// JDBCドライバー名とデータベースURLstatic final String JDBC_DRIVER = 'com.mysql.jdbc.Driver' static final String DB_URL = 'jdbc:mysql: // localhost / emp '//データベース資格情報staticfinal String USER =' root 'static final String PASS =' 'public static void main(String [] args){Connection conn = nullステートメントstmt = null tr​​y {//ステップ2 :JDBCドライバーの登録Class.forName( 'com.mysql.cj.jdbc.Driver')//ステップ3:接続を開くSystem.out.println( 'データベースに接続しています...')conn = DriverManager.getConnection(DB_URL 、 'root'、 '')//ステップ4:クエリを実行しますSystem.out.println( 'Creating statement ...')stmt = conn.createStatement()String sql sql = 'SELECT id、first、last、age FROM Employees'ResultSet rs = stmt.executeQuery(sql)//ステップ5:結果セットからデータを抽出while(rs.next()){//列名で取得int id = rs.getInt( 'id')int age = rs.getInt( 'age')String first = rs.getString( 'first')String last = rs.getString( 'last')//値を表示System.out.print( 'ID:' + id)System.out.print( '、Age:' + age)System.out.print( '、First : '+ first)System.out.println('、Last: '+ last)} //ステップ6:クリーンアップ環境rs.close()stmt.close()conn.close()} catch(SQLException se) {// JDBC se.printStackTrace()のエラーを処理する} catch(Exception e){// Class.forNameのエラーを処理するe.printStackTrace()} finally {//リソースを閉じるために使用される最後のブロックtry {if(stmt!= null)stmt.close()} catch(SQLException se2){} //何もできませんtry {if(conn!= null)conn.close()} catch(SQLException se){se.printStackTrace()} // end final try} // end try System.out.println( 'Goodbye!')} // end main} // end例

上記のコードは、ローカルホストデータベースにテーブルを作成します。作成したデータベースに値を挿入するには、以下のコードを参照してください。ステップ4のコードのみを記述します。残りのコードは上記と同じです。

//ステップ4:クエリを実行しますSystem.out.println( '指定されたデータベースにテーブルを作成しています...')stmt = conn.createStatement()String sql = 'CREATE TABLE EMPLOYEES' + '(id INTEGER not NULL、' + '最初のVARCHAR(255)、' + '最後のVARCHAR(255)、' + '年齢INTEGER、' + 'PRIMARY KEY(id))' stmt.executeUpdate(sql)System.out.println( '指定されたデータベースに作成されたテーブル... ')System.out.println('レコードをテーブルに挿入しています... ')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('レコードをテーブルに挿入しました。 .. ')

したがって、これは、データベースへの接続を確立し、テーブルに値を挿入する方法です。次に、さらに進んで、さまざまなJDBCドライバーのタイプを理解しましょう。

JDBCドライバーの種類

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

たとえば、JDBCドライバーは、データベース接続を開いて、データベース接続を送信することで相互作用するのに役立ちます。 。 JDBCドライバーのタイプについて詳しく知りたい場合は、次の記事を参照してください。 。

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

JDBC接続

  • JDBCパッケージのインポート: 追加 インポート あなたへの声明 Javaコードに必要なクラスをインポートします。

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

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

      try {Class.forName( 'oracle.jdbc.driver.OracleDriver')} catch(ClassNotFoundException ex)System.out.println( 'エラー:ドライバークラスをロードできません!')System.exit(1)}
    • ドライバーを登録するために使用できる2番目のアプローチは、静的を使用することです。 registerDriver() 方法。

      try {Driver myDriver = new oracle.jdbc.driver.OracleDriver()DriverManager.registerDriver(myDriver)} catch(ClassNotFoundException ex){System.out.println( 'エラー:ドライバークラスをロードできません!')System.exit(1 )}
  • あなたは使用する必要があります registerDriver() Microsoftが提供するものなど、JDKに準拠していないJVMを使用している場合はこの方法。ここでは、各フォームにデータベースが必要です URL

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

    • getConnection(String url)

    • getConnection(String url、Properties prop)

    • getConnection(String url、String user、String password)

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

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

  • 閉じる

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

conn.close()//接続を閉じるために使用されます

以上がJavaDatabaseConnectivityに関するものでした。 JDBCについて詳しく知りたい場合は、次の記事を参照してください。 。これで、「データベースへの接続方法」に関する記事は終わりです。 JDBCに関するあなたの知識に光を当てたことを願っています。

チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。私たちはあなたの旅のあらゆるステップを支援するためにここにいます。このJavaインタビューの質問に加えて、Java開発者になりたい学生や専門家向けに設計されたカリキュラムを考え出します。

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