2016年6月26日日曜日

JavaからMySQLに接続してみる。(NetBeans版)

JavaからMySQLに接続するには、まずJDBCドライバをダウンロードし、ライブラリに組み込むことが必要です。

そして、以下のようにプログラムを作成します。
  • ドライバを有効化する。ドライバ名はorg.gjt.mm.mysql.Driver
  • JDBCのURL(jdbc:mysql://サーバー名/インスタンス名/オプション)とユーザー名、パスワードを渡してコネクションを確立する。
  • SQL文を作る。(PreparedStatement)
  • execQuery()でSQL文を送る。(または、executeUpdate)
  • 結果がResultSet型で戻って来る。(整数だけの場合もある)
  • 接続を切断する。

では実際にやってみましょう。

1.JDBCドライバをダウンロードする。


2.新規Javaアプリケーションを作ります。
3.ライブラリを右クリックして、JARファイルの追加を選択します。
4.ダウンロードしたjarファイルを選択します。
5.ライブラリにJarファイルが追加されました。ソースリストを入力し、実行してみます。SQLのデータが表示されれば成功です。
なお、NetBeansでソースリストを書くときはtry節の中だけ入力すれば、不足しているimport文やtry-catch文を補完してくれます。ホント便利です。

  1 package mysqltest1;
  2 
  3 import java.sql.*;
  4 import java.sql.Connection;
  5 import java.sql.DriverManager;
  6 import java.sql.PreparedStatement;
  7 import java.sql.ResultSet;
  8 import java.sql.SQLException;
  9 import java.util.logging.Level;
 10 import java.util.logging.Logger;
 11 
 12 /**
 13  *
 14  * @author imagewriter
 15  */
 16 public class MySqlTest1 {
 17 
 18         /**
 19          * @param args the command line arguments
 20          */
 21         public static void main(String[] args) {
 22                 try {
 23                         //接続用の設定値
 24                         String driver = "org.gjt.mm.mysql.Driver";
 25                         String server = "127.0.0.1";
 26                         String dbname = "myTest";
 27                         String url = "jdbc:mysql://" + server + "/" + dbname +
                                         "?useUnicode=true&characterEncoding=EUC_JP";
 28                         String user = "あなたのゆーざーめい";
 29                         String password = "あなたのぱすわーど";
 30                         
 31                         //表示用の変数(=フィールド)
 32                         int id;
 33                         String name;
 34                         int qty;
 35                         
 36                         //接続開始
 37                         Class.forName(driver);
 38                         Connection con =
                                    DriverManager.getConnection(url, user, password);
 39 
 40                         //SQL文字列作成、送信、受信
 41                         PreparedStatement pstmt =
                                    con.prepareStatement("SELECT * FROM myTable");
 42                         ResultSet rs = pstmt.executeQuery();
 43 
 44                         //受信文字列の表示
 45                         while(rs.next()){
 46                                 id = rs.getInt("id");
 47                                 name = rs.getString("name");
 48                                 qty = rs.getInt("qty");
 49                                 System.out.println(
                                         "id= " + id + " name= " + name + " qty= " + qty);
 50                         }
 51 
 52                         //クローズ
 53                         rs.close();
 54                         pstmt.close();
 55                 } catch (ClassNotFoundException ex) {
 56                         Logger.getLogger(
                                    MySqlTest1.class.getName()).log(Level.SEVERE, null, ex);
 57                 } catch (SQLException ex) {
 58                         Logger.getLogger(
                                    MySqlTest1.class.getName()).log(Level.SEVERE, null, ex);
 59                 }
 60         }
 61         
 62 }
 63 



Evernote はあなたがすべてを記憶し、手間をかけずに整理できるようにお手伝いします。Evernote をダウンロードする