おはようございます。
本日もブログを更新していきたいと思います。
今回からJavaからDBへの接続についての内容になります。
例文ではDBに接続後にSELECT文を実行します。
それでは昨日の課題を振り返っていきます。
DBに接続するには自分でメソッドを定義する必要が有ります。
今回行った接続方法を下記に記載しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
//DBに接続するメソッドgetConnectionを定義する private Connection getConnection() { //接続情報を格納する変数を準備しnullを入れる Connection conn = null; //srcパッケージ直下に接続に必要な情報を記述する //URL、ID、PASSをそれぞれ変数に格納する //ResourceBundleでファイル情報を読み込める様にする ResourceBundle resourceBundle = ResourceBundle.getBundle("拡張子なしのファイル名"); try { //getConnection(URL,ID,PASSWORD)で接続する conn = (Connection)DriverManager.getConnection( resourceBundle.getString("URL"), resourceBundle.getString("ID"), resourceBundle.getString("PASSWORD") ); } catch (SQLException e) { System.out.println("データベース接続エラーが発生しました"); } //接続情報を格納した変数を返す return conn; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
//今回はmainメソッド内にSELECT文を記述します public static void main(String[] args){ //先程定義したgetConnctionメソッドでDBに接続 Connection conn = getConnection(); //try-catch内にSQL文の実行を記述 try{ //createStatementメソッドでDBに命令を送る為のオブジェクトを作成する Statement st = conn.createStatement(); //命令文を実行して返ってきたデータをrsに入れる ResultSet rs = st.executeQuery("SELECT * FROM テーブル名") //1行目のデータを表示させる //次行のデータを表示させる場合は再度nextメソッドを使用する rs.next(); System.out.println(rs.get取得する型("カラム名")); rs.close(); st.close(); }catch(SQLException e){ e.printStackTrace(); }finally{ try{ conn.close(); }catch(SQLException e){ e.printStackTrace(); } } } |
上記の内容は接続~実行になります。DBと接続する場合は必ず閉じる必要が有ります。
閉じる順序は最後に開いたものから閉じていく必要が有ります。
今回はSELECT文でしたが、INSERTやUPDATEでは少し内容が変わってきますので注意してください。
今回のブログはここまでです。
では、また。