l. データベースに接続する方法: 1) ODBC (Open Database Connectivity)
SQL ベースのデータベース エンジンにアクセスするための C 言語ベースのインターフェイスは、データベースとの通信とデータへのアクセスに一貫したインターフェイスを提供します。
2) JDBC
ODBC の Java バージョン
2. JDBC アプリケーション プログラミング インターフェイス 回答: JDBC アプリケーション プログラミング インターフェイスは次のとおりです。
1) さまざまなデータベースに接続できる標準データ アクセス インターフェイス。
2) JAVA プログラミング言語のクラスとインターフェイスのセット。
JDBC アプリケーション プログラミング インターフェイスでは次のことができます。
1) データベースに接続します。
2) SQL クエリ文字列をデータベースに送信します。
3) 結果を処理します。
JDBC アプリケーション プログラミング インターフェイスには、次の 2 つの主要な部分があります。
1) JAVA アプリケーション開発インターフェイスは JAVA アプリケーション開発者向けです。
2) JDBCドライバー開発インターフェース
3.JDBCドライバー
回答: 1) JDBC クラスとインターフェイスを実装する多数のクラス。
2) java.sql.Driver インターフェースを実装するクラスを提供します。
4. 4 種類の JDBC ドライバー 答え: 1) JDBC-ODBC ブリッジ
ODBCドライバーによって提供されるJDBCアクセス
2) ローカルAPI
一部の Java ドライバーは、JDBC 呼び出しをローカル クライアント API に変換します。
3) JDBCネット
JDBC 呼び出しを DBMS に転送する純粋な Java ドライバーであり、ネットワーク プロトコルとは何の関係もありません。その後、呼び出しはサーバーを通じて DBMS プロトコルに変換されます。
4) ローカルプロトコル
純粋な Java ドライバー。JDBC 呼び出しを DBMS
5 で使用されるネットワーク プロトコルに直接変換します。 JDBC 開発者インターフェイスの答え: 1) java.sql -- Java 2 プラットフォーム、標準バージョン (J2SE) での JDBC の主要機能
2) javax.sql -- Java 2 プラットフォーム、Enterprise Edition (J2EE) での JDBC 拡張機能
6. URL を使用してデータベースを確認します。 回答: URL を使用してデータベースを決定します (正しいドライバー、正しいホスト、正しいプロトコル、正しいプロトコル) 、正しいユーザー名とパスワード);
構文: プロトコル:サブプロトコル:サブ名
例: jdbc:db2:MyTest
jdbc:db2://localhost:6789/MyTest
7. javax.sql パッケージ JDBC2.0 の拡張機能 回答: 1) データ ソース インターフェイス。
2) 接続プール。
3) 分散トランザクション。
4) 行セット;
8. 基本的な JDBC アプリケーションを作成します。 答え: 1) ステップ 1: ドライバーを登録します。
2) ステップ 2: データベースへの接続を確立します。
3) ステップ 3: ステートメントを作成します。
4) ステップ 4: SQL ステートメントを実行します。
5) ステップ 5: 結果を処理します。
6) ステップ 6: JDBC オブジェクトを閉じる
9. ドライバーを登録する (ステップ 1)
回答: 1) ドライバーはデータベースへの接続に使用されます。
2) JDBC アプリケーション プログラミング インターフェイスは、指定された URL に正常に接続できる最初のドライバーを使用します。
3) 複数のドライバーを同時にロードできます。
10. ドライバーを登録する方法:
回答: 1) クラスローダーを使用します (ロード、インスタンス化、DriverManager への登録)。
a. Class.forName("Com.ibm.db2.jdbc.app.DB2Driver");
b. Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");
c. Class.forName("Com.microsoft.jdbc.sqlServer.SQLServerDriver);
d. Class.forName("oracl.jdbc.driver.OracleDriver");
e. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
2) ドライバーをインスタンス化する
a. Driver drv = new COM.cloudscape.core.RmiJdbcDriver();
1. データベースへの接続を確立します (ステップ 2)。
回答: DriverManager が getConnection(urlString) メソッドを呼び出すと、実際にはドライバーの connect(urlString) メソッドが呼び出されます。
1) ドライバーがデータベース URL に確実に対応する場合、DriverManager は接続を確立します。
2) 一致するドライバーがない場合は、null が返され、次のドライバーがチェックされます。
3) 接続が確立されない場合、SQLExcepiton 例外がスローされます
。 2. 一般的に使用される JDBC URL のいくつか
答え: 1) JDBC-ODBC: jdbc:odbc:<DB>
2) Oracle: jdbc:oracle:oci:@<sid> または jdbc:oracle:thin:@<SID>
3) Weblogic MS-SQL: jdbc:weblogic:mssqlserver4:<DB>@<HOST>:<PORT>
4) DB2: jdbc:db2:MyTest または jdbc.db2://localhost:6789/MyTest (ユーザー名とパスワードが必要)
3. ドライバー接続方法の答え: 1) 指定されたドライバー インスタンスへの直接呼び出しを作成します。
2) 一般的なアクセスの問題を回避する
ドライバー drv = 新しい COM.ibm.db2.jdbc.app.DB2Driver();
接続 con = null;
{con = drv.connect("jdbc:db2:MyTest",new Properties())} を試してください
catch(SQLException e){}
4. ステートメントを作成します (ステップ 3)
回答: 1) Statement の 3 つのインターフェイス:
a. 声明。
b. PreparedStatement (Statement から継承)。
c. CallableStatement (PreparedStatement から継承)。
2) Connection.createStatement() メソッドを使用して、Statement オブジェクトを取得します
。 5. PreparedStatement オブジェクト 回答: 1) ProparedStatement を呼び出す方が、statement よりも効率的です。
2) ステートメントから継承。
3) 構文: PreparedStatement pstm = connection.prepareStatement(sqlString);
6. CallableStatement オブジェクトの答え: 1) CallableStatement を通じてデータベース内のストアド プロシージャを呼び出します。
2) PreparedStatement から継承。
3) CallableStatement cstm = connection.prepareCall("{call return_student[?,?]}");
cstm.setString(1,"8623034");
cstm.registerOutparameter(2, Types.REAL);
cstm.execute();
float gpa = cstm.getFloat(2);
7. ステートメント インターフェイスの比較:
-------------------------------------------------- ----------------------------
コードの場所 | クライアント |
-------------------------------------------------- ----------------------------
コードの場所 | サーバー側 |
-------------------------------------------------- ----------------------------
コーディング技術 | Java、SQL 操作 | PL/SQL などのデータベース プログラミング言語
-------------------------------------------------- ----------------------------
設定可能性 | 最初は高、その後は低 |
-------------------------------------------------- ----------------------------
移植性 高 | PreparedStatement がサポートされている場合
-------------------------------------------------- ----------------------------
伝送効率 | 初回は低い | 以降は高い |