JDBC 2編


本編ではResultSetについて解説します.
結果値のResultSetを知る!

1.ResultSet


前述したように、結果値を含むオブジェクトです.
でも名前を見てみましょうSet? 資料型のスーツではないでしょうか.
そうですね.それとはあまり違わない.そのシーンかどうかはわかりませんが….
どうせ名前はSetだし、値段の出し方も悪くない.
でもResultSetにとっては、考えてみればテーブルが気持ちいいです.
ResultSetは、次の値を示します.
ResultSet rs = stat.excuteQuery("SELECT * FROM USER");
もしそうなら、ResultSetが指す位置は以下の通りです.
つまり、0行目を指します.
したがって,次の行を指すためにnext()メソッドを実行する.
while(rs.next()) {
next()メソッドは、次の行がある場合、TRUEに戻り、TRUEをスキップし、ない場合、FALSEに戻る.
次の行があります.以下に示します.じゃ、今値段を出さなければなりません.どうして出せますか.
値は、テーブル・プロパティのデータ型と順序です.
id属性がint型であり、最初であると仮定すると、このようにインポートされます.
while(rs.next()) {
      rs.getInt(1);
}
ではnameは?String型、2番目、次のようになります.
while(rs.next()) {
      rs.getInt(1);
      rs.getString(2);
}
このように全て下記に記入します.
while(rs.next()) {
      rs.getInt(1);
      rs.getString(2);
      rs.getString(3);
}

2.オブジェクトに含める


しかしrsは一時的な対象である.データベースの作業が完了したら、破棄する必要があります.
したがって、USERテーブルのUserクラスを作成できます.
を選択します.
// User 클래스 작성
class User {
     private int id;
     private String name;
     private String description;
     
     /*
      * getter/setter 메소드들
      */
}
-------------------------------------------
// User 객체 생성
User user = new User();

// rs에서 값을 꺼내며, User 객체에 담음
while(rs.next()) {
      user.setId(rs.getInt(1));
      user.setName(rs.getString(2));
      user.setDescription(rs.getString(3));
}
また、複数のユーザデータを含める必要があるため、値を格納するためにListを作成する必要がある.
つまり、最終的には以下のようになります.
// User 클래스 작성
class User {
     private int id;
     private String name;
     private String description;
     
     /*
      * getter/setter 메소드들
      */
}
-------------------------------------------
// User 객체 생성
User user = new User();
// 여러 User 데이터들을 담기 위한 리스트 생성
List<User> userList = new ArrayList<>();

// rs에서 값을 꺼내며 리스트에 담음
while(rs.next()) {
      user.setId(rs.getInt(1));
      user.setName(rs.getString(2));
      user.setDescription(rs.getString(3));
      
      // User 데이터 하나를 리스트에 추가
      userList.add(user);
}

3.結論


本編ではResultSetの使い方を紹介します.
実はとても简単な内容ですが、书くことが少なすぎて内容を短缩しました.ううう
上一篇 CRUDを本当に知っています!