日本語PDF

JDBC接続のためのJava Bean実装の作成

クラス名: src/main/java/com/oracle/jdbc/samples/bean/EmployeeBeanImpl.java

Githubの場所: EmployeeBeanImpl.java

説明: これは実装クラスです。EmployeeBean.javaで宣言されたすべてのメソッドがこのクラスに実装されます。各機能に関連する新しいメソッドが、次の各章に追加されます。最初に、"ListAll"機能に必要なメソッドの実装を追加します。

実行する手順:

手順4: メソッドgetConnection()を作成して、データベースへの接続を確立します。データベースを指すように、接続URL、DBユーザー名およびDBパスワードを更新します。

手順5: 従業員表から従業員のリストを取得するメソッドgetEmployees()を作成します。Employees表から目的の列を選択して、使用するSELECT問合せを更新します。

手順4: getConnection()メソッドを作成する手順

1. EmployeeBean.javaのパッケージを宣言します。

package com.oracle.jdbc.samples.bean;

2. 従業員の詳細を含むEmployeeクラスをインポートします。

Import com.oracle.jdbc.samples.entity.Employee;

3. 次に示すように、他の依存クラスをインポートします。特定のクラスがインポートされない場合、JDeveloperでは、必要なパッケージのインポートを促すメッセージが表示されます。[Alt]キーを押しながら[Enter]キーを押してクラスをインポートします。

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

import java.sql.PreparedStatement;
import oracle.jdbc.OracleStatement;
import oracle.jdbc.OracleConnection;
import oracle.jdbc.driver.OracleDriver;
import oracle.jdbc.OracleTypes;
import java.sql.PreparedStatement;
import oracle.jdbc.OracleStatement;
import oracle.jdbc.OracleConnection;

import oracle.ucp.jdbc.PoolDataSourceFactory;
import oracle.ucp.jdbc.PoolDataSource;

4. 次に示すクラス宣言EmployeeBeanImplを追加します。これがEmployeeBeanを実装します。開きカッコ({)および閉じカッコ(})を追加します。カッコの間にカーソルを置きます。

public class EmployeeBeanImpln implements EmployeeBean {

5. staticメソッドgetConnection()を宣言して接続を確立します。開きカッコ({)および閉じカッコ(})を追加します。カッコの間にカーソルを置きます。

public static Connection getConnection() throws SQLException {

6. 次に示すようにドライバを登録します。

DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

7. データベースURLおよびデータベースのユーザー名とパスワードを渡して、接続を取得します。

Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@//myorclhost:5521/myorcldbservice", "hr", "hr");

8. データベース接続を返します。

return connection;

getEmployees()メソッドを作成する手順:

1. メソッドgetEmployees()を宣言します。開きカッコ({)および閉じカッコ(})を追加します。カッコの間にカーソルを置きます。

Public List<Employee> getEmployees()throws SQLException {

2. List<Employee>型の戻り値の変数を宣言します

List<Employee> returnValue = new ArrayList<>();

3. tryブロックを開始します。ソース・コードはJDK8でコンパイルされ、自動クローズ可能文を使用するため、catchブロックとfinallyブロックを明示的に指定する必要はありません。最初のtryブロックは、getConnection()メソッドを呼び出してデータベース接続を取得するためのものです。データベース接続を確立するために可変接続を宣言します。

try (Connection connection = getConnection()) {

4. Statementを作成するために別のtryブロックを開始します。

try (Statement statement = connection.createStatement()) {

5. ResultSetの別のtryブロックを開始します。実行する必要がある問合せを含めます。問合せで従業員の必須フィールドをすべて取得するようにします。

try (ResultSet resultSet = statement.executeQuery("SELECT Employee_Id, First_Name, Last_Name, Email, Phone_Number, Job_Id, Salary FROM EMPLOYEES")) {

6. whileループを開始して、ResultSetから取得した従業員のリストを取得します。

while(resultSet.next()) {
  returnValue.add(new Employee(resultSet));
}

7. すべてのtryブロックのカッコを閉じます。

8. SQLExceptionを捕捉し、次に示すようにロガーにメッセージを記録します。

catch (SQLException ex) {
  logger.log(Level.SEVERE, null, ex);
  ex.printStackTrace();
}

9. メソッドgetEmployees()から従業員のListを返します

return returnValue;