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;
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;