読者です 読者をやめる 読者になる 読者になる

MySQL接続するJavaプログラム

今回はJDBCドライバを利用して、Eclipse上でMySQLに接続するJavaプログラムを作成してみました。

ポイントはまずMySQLへのアクセス方法です。

  • Class.forName(String) : 必要なドライバを読み込ませます。ドライバが見つからない場合にはClassNotFoundExceptionが必要になります。
  • Connection con = DriverManager.getConnection(String url, String username, String passwd) : データベース接続(線路)を作ります。
  • Statement stmt = con.createStatement(); ステートメント(台車)を作ります。
  • ResultSet rs = stmt.executeQuery(String); 台車を押して、返事をもらいます。
  • While(rs.next()) : 全てのデータ一度のステートメントでは返ってこないので、接続をしたまま取り出していきます。
  • rs.getInt(String) : パラメータを取り出します。

またこの他の注意点として、MySQLJDBCドライバの.jarファイルを置き、Eclipseのプロジェクト->プロパティ->Javaのビルド・パス-> ライブラリーで外部Jarファイルを認識させておく必要があります。

import java.sql.*;

public class DBSelectExample {
	public static void main(String[] args) throws ClassNotFoundException {
		try{
			String url = "jdbc:mysql://localhost:3306/db1"
				+"?useUnicode=true&characterEncoding=utf8";
			String user = "root";
			String password = "password"; //当然変える必要があります。

			Class.forName("com.mysql.jdbc.Driver");

			Connection con = DriverManager.getConnection(url, user, password);
			Statement stmt = con.createStatement();
			String query = "select * from employee";
			ResultSet rs = stmt.executeQuery(query);

			while(rs.next()){
				int number = rs.getInt("number");
				String name = rs.getString("name");
				int age = rs.getInt("age");

				System.out.println("[" + number + "]" + name + "(" + age + ")");

			}
			rs.close();
			stmt.close();
			con.close();
		}
		catch(SQLException e){
			e.printStackTrace();
		}
	}
}

追伸
上記外部JARの追加ですが、下記のJREシステム・ライブラリーを右クリック->ビルド・パス->ビルド・パスの構成から追加できます。