0
私はいくつかのコードで目の第2のペアが必要です。シンプルなものがあるような気がする。 MariaDBにjeff_tablesというテーブルがあり、そこには4つのエントリが含まれています。JDBC ResultSetがすべての行を反復しない
try {
getConnection();
String query = "SELECT * FROM jeff_tables";
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(query);
//rs.last(); //returns 4 rows
//System.out.println("result set size: " + rs.getRow());
while(rs.next()) {
Integer tenant = rs.getInt("TENANT_ID");
String table = rs.getString("TABLE_NAME");
System.out.println("Inserting k-v pair: " + tenant + " " + table);
tableNames.put(tenant, table);
}
} catch (SQLException e) {
e.printStackTrace();
}
Iはrs.last()とrs.getRow()ライン、それは4を返し、正しい番号がアンコメント:私は、実行メソッド内、次のコードを実行するユーティリティ・スレッドを作成しました返されるエントリの数。しかし、実際に何が起こっているのは、whileループに入り、最初の行の正しい値を出力してから、put文にヌル・ポインタをスローします。私はスレッド外でこのコードを実行しようとしましたが、同じことをやっています。アドバイスをいただければ幸いです。前もって感謝します。
明らかに 'tableNames'変数は初期化されておらず、' null'です – hoaz
そうです、私はこの質問を投稿した直後にそれを認識しました。私はそれが私が見落としていた単純なものであることを知っていた。ありがとう。 – jeffkempf