Java訓練#50(復習(DB操作))
今日の授業
今日は1日実習でした。なのでbeanやDAOなどの復習をしました。
Bean
指定したデータベースと同じ情報を持ち、その情報をまとめてset、 get できる。
Beanを使う時は使いたいクラスで「インスタンス」を生成する。
DAO
データソースの取得専門クラス。getConnectionメソッドにデータソースを格納。
サブDAO
DAOクラスのサブクラス(extends DAO)。
データベースとのやり取り専門のクラス。具体的にデータベースのテーブルの中身を確認、取得するsearchメソッド、テーブルに値を入れるinsertメソッド、テーブルの値を削除するdeleteメソッドなどを持つ処理を記述します。
①、それぞれのメソッドでgetConnectionメソッドを呼び出してデータベースに接続。
②、PreparedStatement でSQL文が使えるので、それでデータベースを操作。
③、ResultSet でSQL文の結果を受け取る。
・executeQuery メソッド(search)・・・データベースの値を格納。
・executeUpdateメソッド(insert、delete)・・・データベースの行数を格納。
①〜③のソースコード
Connection con = getConnection();
Connectionオブジェクト(con)にデータソースを持ってるgetConnectionを格納します。
PreparedStatement st = con.PrepareStatement(ここにSQL文を記述);
PreparedStatementオブジェクト(st)にデータソースとSQL文の処理を格納します。
ResultSet rs = st.executeQuery();
ResultSetオブジェクト(rs)にデータソース、SQL文の処理の結果を代入。
ResultSetオブジェクトはテーブルの1行分の値を格納できるオブジェクトです。なのでexecuteUpdateメソッドは使いません。executeUpdateメソッドを使う時は次のようになります。
int line = st.executeUpdate();
変数 line にデータソース、SQL文の処理の結果を代入します。
以上の流れでデータベースの接続と処理を行います。
データベースとの接続が終わったら切断した方がいいので closeメソッドを使って切断します。
st.close();
con.close();
この後に、「return 変数名」でメソッドの呼び出し元に返します。
ResultSetオブジェクト(rs)はこの変数を使ってBeanにデータベースの中身を入れるプログラムを記述します。この時に使うのがnextメソッドです。
while(rs.next()){
Bean b = new Bean();
b.setName(rs.getName(name));
b.setAge (rs.getAge (age ));
list.add(b);
}
このソースコードではまず 、while(rs.next()) でテーブルの 行 を指定します。次にBeanクラスのインスタンスを生成し、そこにデータベースの値を set していきます。1行分セットできたら list.add(b) でListオブジェクトに格納していきます。これをテーブルの 行 分繰り返します。
このソースコードはcloseメソッドの前に記述します。
-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥
公共職業訓練を受講する為に必要な事を下の記事で書いてます。
良かったらご覧下さい↓↓↓
最後まで読んで頂きありがとうございました。
少しでも勉強になった、役に立ったと思ったら「 サポート」 で貴方のお気持ちを頂けると嬉しいです。
今後の励みにもなります。是非よろしくお願いします。
この記事が気に入ったらサポートをしてみませんか?