見出し画像

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メソッドの前に記述します。

-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥

公共職業訓練を受講する為に必要な事を下の記事で書いてます。

良かったらご覧下さい↓↓↓


最後まで読んで頂きありがとうございました。

少しでも勉強になった、役に立ったと思ったら「 サポート」 で貴方のお気持ちを頂けると嬉しいです。
今後の励みにもなります。是非よろしくお願いします。

この記事が気に入ったらサポートをしてみませんか?