JDBCです。 データベースへの問い合わせ

データベースへの問い合わせは、そのデータを通して検索することを意味します。 問い合わせを行うには、データベースに SQL 文を送信します。 これを行うには、まず、開いているデータベース接続が必要です。

Statement statement = connection.createStatement();

Statementオブジェクトを作成すると、次のようにSQLクエリを実行することができます:

String sql = "select * from people";ResultSet result = statement.executeQuery(sql);

SQLクエリを実行すると、ResultSetが返されます。 ResultSetにはSQLクエリの結果が格納されています。 結果はデータの列を持つ行で返されます。

while(result.next()) { String name = result.getString("name"); long age = result.getLong ("age");}

ResultSet.next()メソッドはResultSetの次の行に移動します。 もしこれ以上行があれば、真を返す。

データを読み込む前に、少なくとも1回はnext()を呼び出す必要があります。 最初のnext()呼び出しの前に、ResultSetは最初の行の前に配置される。

getXXX()メソッドのいくつかを呼び出すことによって、現在の行の列データを取得できる。ここでXXXはプリミティブデータ型である。 例えば、

 result.getString ("columnName"); result.getLong ("columnName"); result.getInt ("columnName"); result.getDouble ("columnName"); result.getBigDecimal("columnName"); etc.

これらのgetXXX()メソッド呼び出しのパラメータとして、値を取得する列名を渡します。

また、次のように列のインデックスを渡すこともできます。

 int columnIndex = result.findColumn("columnName");

もし大量の行を反復処理する場合は、名前よりもインデックスで列を参照する方が速いかもしれません。

ResultSet を反復処理し終わったら、ResultSet とそれを生成した Statement オブジェクトを閉じる必要があります (つまり、それが終わっていればですが)。 4485>

result.close();statement.close();

もちろん、これらのメソッドを finally ブロック内で呼び出し、ResultSet の反復処理中に例外が発生しても呼び出されるようにする必要があります。 例を短くするために、catchブロックを削除していることに注意してください。

コメントを残す

メールアドレスが公開されることはありません。