JDBCでJavaで一般的に使用されるクラスとインターフェース

JDBCの概要

JDBCは、SQLステートメントを実行するために使用できるJava API(アプリケーションプログラミングインターフェイス、アプリケーションプログラムインターフェイス)であり、データベースとJavaアプリケーション間のリンクです。

JDBCの正式名称はJava DataBase Connectivityです。これは、さまざまなリレーショナルデータベースにアクセスするための統一された標準インターフェースを指定するオブジェクト指向のアプリケーションプログラムインターフェースのセットです。

Java言語では、データベースプログラミング用に豊富なクラスとインターフェースが提供されています。これらのクラスとインターフェースは、データアクセスと処理を容易にするために使用できます。このセクションでは、よく使用されるJDBCインターフェースとクラスをいくつか紹介します。これらのクラスとインターフェースはすべてjavaです。 .sqlパッケージ。

接続インターフェース

Connectionインターフェースは、特定のデータベースへの接続を表し、接続コンテキストでSQLステートメントを実行し、結果を返します。

接続インターフェースの一般的なメソッド:

方法 機能説明
createStatement() ステートメントオブジェクトの作成
createStatement(int resultSetType、int resultSetConcurrency) Statementオブジェクトを作成します。これにより、指定されたタイプ、同時実行性、および保存可能性を持つResultSetオブジェクトが生成されます
prepareStatement() 前処理されたオブジェクトのprepareStatementを作成する
isReadOnly() 現在のConnectionオブジェクトの読み取りモードが読み取り専用かどうかを確認します
setReadOnly() 現在のConnectionオブジェクトの読み取りおよび書き込みモードを設定します。デフォルトは非読み取り専用モードです
コミット() 最後のコミット/ロールバック後に行われたすべての変更を永続的な変更にし、このConnectionオブジェクトによって現在保持されているすべてのデータベースロックを解放します
roolback() 現在のトランザクションで行われたすべての変更をキャンセルし、このConnectionオブジェクトによって現在保持されているすべてのデータベースロックを解放します
閉じる() このConnectionオブジェクトのデータベースとJDBCリソースが自動的に解放されるのを待つのではなく、すぐに解放します

ステートメントインターフェイス

Statementインターフェースは、確立された接続に基づいてSQLステートメントをデータベースに送信するために使用されます。JDBCには、Statement、PreparedStatement、CallableStatementの3種類のStatementオブジェクトがあります。Statementオブジェクトは、パラメータなしの単純なSQLステートメントを実行するために使用されます。PreparedStatementは、Statementを継承して動的SQLステートメントを実行します。CallableStatementは、PreparedStatementを継承して、データベース内のストアドプロシージャへの呼び出しを実行します。

Statementインターフェースの一般的なメソッド:

方法 機能説明
実行(文字列sql) 複数の結果セットを返す可能性がある静的SELECTステートメントを実行する
executeQuery(文字列sql) 単一のResultSetオブジェクトを返す、指定されたSQLステートメントを実行します。
clearBarch() このStatementオブジェクトの現在のSQLコマンドリストをクリアします
executeBarch() コマンドのバッチをデータベースに送信して実行します。すべてのコマンドが正常に実行されると、更新カウントの配列が返されます。配列要素の順序は、SQLステートメントが追加された順序に対応しています。
addBarch(String sql) 指定されたSQLコマンドを、このStatementオブジェクトの現在のコマンドリストに追加します。ドライバーがバッチ処理をサポートしていない場合、例外がスローされます
閉じる() Statementインスタンスが占有しているデータベースとJDBCリソースを解放する

PreparedStatementインターフェース

PreparedStatementインターフェースは、SQLステートメントを動的に実行するために使用されます。PreparedStatementインスタンスによって実行されるSQLステートメントはコンパイルされ、PreparedStatementインスタンスに保存されるため、SQLステートメントを繰り返し実行できます。

PreparedStatementインターフェースの一般的なメソッド:

方法 機能説明
setInt(int index、int k) 指定された位置のパラメーターをint値に設定します
setFloat(int index、float f) 指定された位置のパラメーターを浮動小数点値に設定します
setLong(int index、long l) 指定された位置のパラメーターを長い値に設定します
setDouble(int index、double d) 指定された位置のパラメーターをdouble値に設定します
setBoolean(int index、boolean b) 指定された位置のパラメーターをブール値に設定します
setDate(int index、date date) 指定された位置のパラメーターを日付値に設定します
executeQuery() このPreparedStatementオブジェクトでSQLクエリを実行し、クエリによって生成されたResultSetオブジェクトを返します
setString(int index、String s) 指定された場所のパラメーターを対応する文字列値に設定します
setNull(int index、intsqlType) 指定された位置のパラメーターをSQL NULLに設定します
executeUpdate() 前のセクションに含まれているパラメーターを使用して、動的なINSERT、UPDATE、またはDELETEステートメントを実行する
clearParameters() すべてのパラメーターの現在の値をクリアします

DriverManagerクラス

DriverManagerクラスは、データベース内のすべてのドライバーを管理するために使用されます。彼はJDBCの管理レイヤーであり、ユーザーとドライバーの間で機能し、使用可能なドライバーを追跡し、データベースドライバー間の接続を確立します。getConnection()メソッドを介して接続を確立できる場合は接続が返され、それ以外の場合は例外がスローされます。

DriverManagerクラスの一般的なメソッド:

方法 機能説明
getConnection(String url、String user、String password) 3つのエントリパラメータ(データベースに接続するためのURL、ユーザー名、およびパスワード)を指定して、データベースへの接続を取得します。
setLoginTimeout() データベースへのログイン試行時にドライバーが待機できる最大時間(秒)を取得します
println(文字列メッセージ) メッセージを現在のJDBCログストリームに出力する

ResultSetインターフェース

ResultSet 接口类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集。ResultSet 实例具有指向当前数据行的指针,指针开始的位置在第一条记录的前面,通过next()方法可将指针向下移动。

ResultSet 接口的常用方法:

方法 功能描述
geInt() 以int形式获取此ResultSet 对象当前行的指定列值。如果列值是NULL,则返回0
getFloat() 以float形式获取此ResultSet 对象当前行的指定列值。如果列值是NULL,则返回0
getDate() 以data形式获取此ResultSet 对象当前行的指定列值。如果列值是NULL,则返回null
getBoolean() 以boolean形式获取此ResultSet 对象当前行的指定列值。如果列值是NULL,则返回null
getString() 以String形式获取此ResultSet 对象当前行的指定列值。如果列值是NULL,则返回null
getObject() 以Object形式获取此ResultSet 对象当前行的指定列值。如果列值是NULL,则返回null
first() 将指针移到当前记录的第一行
last() 将指针移到当前记录的最后一行
next() 将指针向下移一行
beforeFirst() 将指针移到集合的开头(第一行位置)
afterLast() 将指针移到集合的尾部(最后一行位置)
absolute(int index) 将指针移到ResultSet 给定编号的行
isFrist() 判断指针是否位于当前ResultSet 集合的第一行。如果是返回true,否则返回false
isLast() 判断指针是否位于当前ResultSet 集合的最后一行。如果是返回true,否则返回false
updateInt() 用int值更新指定列
updateFloat() 用float值更新指定列
updatelLong() 用指定的long值更新指定列
updateString() 用指定的String值更新指定列
updateObject() 用Object值更新指定列
updateNull() 将指定的列值修改为NULL
updateDate() 用指定的date值更新指定列
updateDouble() 用指定的double值更新指定列
getrow() 查看当前行的索引号
insertRow() 将插入行的内容插入到数据库
updateRow() 将当前行的内容同步到数据库
deleteRow() 删除当前行,但并不同步到数据库中,而是在执行close()方法后同步到数据库

おすすめ

転載: blog.csdn.net/javanofa/article/details/105469746