logo

5 つのステップによる Java データベース接続

  1. Javaでデータベースに接続する5つのステップ
    1. ドライバークラスを登録する
    2. 接続オブジェクトを作成する
    3. Statement オブジェクトを作成する
    4. クエリを実行する
    5. 接続オブジェクトを閉じます
JDBC を使用して Java アプリケーションをデータベースに接続するには 5 つの手順があります。これらの手順は次のとおりです。
  • Driverクラスを登録する
  • 接続の作成
  • ステートメントの作成
  • クエリを実行する
  • 接続を閉じる
Java データベースの接続手順

1) ドライバークラスを登録する

forName() Classクラスのメソッドを使用してドライバークラスを登録します。このメソッドは、ドライバー クラスを動的にロードするために使用されます。

forName() メソッドの構文

 public static void forName(String className)throws ClassNotFoundException 

注: JDBC 4.0 以降、ドライバーの明示的な登録はオプションです。ベンダーの Jar をクラスパスに置くだけで、JDBC ドライバー マネージャーがドライバーを自動的に検出してロードできるようになります。

OracleDriverクラスの登録例

ここでは、Java プログラムが Oracle ドライバーをロードしてデータベース接続を確立しています。

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

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

getConnection() DriverManager クラスのメソッドは、データベースとの接続を確立するために使用されます。

getConnection() メソッドの構文

 1) public static Connection getConnection(String url)throws SQLException 2) public static Connection getConnection(String url,String name,String password) throws SQLException 

Oracleデータベースとの接続を確立する例

 Connection con=DriverManager.getConnection( 'jdbc:oracle:thin:@localhost:1521:xe','system','password'); 

3) Statement オブジェクトを作成する

ステートメントの作成には、Connection インターフェースの createStatement() メソッドを使用します。ステートメントのオブジェクトは、データベースに対してクエリを実行する責任があります。

createStatement() メソッドの構文

 public Statement createStatement()throws SQLException 

ステートメントオブジェクトの作成例

 Statement stmt=con.createStatement(); 

4) クエリを実行します

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

executeQuery()メソッドの構文

 public ResultSet executeQuery(String sql)throws SQLException 

クエリ実行例

 ResultSet rs=stmt.executeQuery('select * from emp'); while(rs.next()){ System.out.println(rs.getInt(1)+' '+rs.getString(2)); } 

5) 接続オブジェクトを閉じます

接続オブジェクトステートメントを閉じると、ResultSet が自動的に閉じられます。接続を閉じるには、Connection インターフェイスの close() メソッドが使用されます。

close() メソッドの構文

 public void close()throws SQLException 

接続を閉じる例

 con.close(); 

注: Java 7 以降、JDBC には try-with-resources ステートメントを使用して、Connection、ResultSet、および Statement タイプのリソースを自動的に閉じる機能があります。

これにより、明示的な接続終了ステップが回避されます。