Java MYSQLに接続する。SWT。Eclipse3.7

VB Tips And Sample(HOME)VBプログラマの為のJava入門

Java MYSQLに接続する。SWT。Eclipse3.7

データベース、MYSQLに接続する方法ですが、JDBCなど、MSのODBCを経由する方法や、Javaから直接接続する方法など他にも2・3あるようです。
今回は、Linuxでも使えるのを目指しているので、
Javaから直接MYSQLに接続する方法を模索。
以下の方法でできました。
まず、MYSQLのサイトから、「MySQL Connector/J」をダウンロード。
ZIPのものをDLして、Javaの作業フォルダに解凍。
次に、Javaのプロジェクトを右クリック。
「プロパティー」を選択。
プロパティーをクリック
「ビルドパス」を選択。
「ライブラリ」タブを選択。
「外部Jar追加」を選択。
で、先ほど解凍したフォルダの中の、「mysql-connector-java-5.1.18-bin.jar」を選択して追加。
順番に選択
ライブラリに追加できた。
ライブラリに追加
プロジェクトの参照ライブラリにも自動的に追加される。
追加できた

あとは、ゴリゴリと書けばよいのだが、
import java.sql.*;が必要なので、インポートを追加しておきます。(クラスの一番上のimport〜の所に追記すればよい)

//try〜catchで囲わないとEclipseにエラー扱いにされる。
try{
		//インスタンス作成
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		//サーバ、ユーザ、パスワードをセット。コネクションを作成。
		Connection con = DriverManager.getConnection("jdbc:mysql://centos5vm/test", "vbuser", "sa");
		//VBでは、コネクションから直にexecuteだが、Statementが必要
		Statement stmt = con.createStatement(); // Statementは、VBライクに複数回のデータ取得には使えない

		String sqlstr;

		sqlstr = new String();

		sqlstr = "SELECT * FROM KEN_ALL WHERE pref='沖縄県'";

		ResultSet rs = stmt.executeQuery(sqlstr.toString());
		
		//メタデータにフィールド名(カラム名)が入っている。
		//でデータ取得に、ぐるぐる回せるようになる。
		ResultSetMetaData rsmd = rs.getMetaData();

		StringBuilder sb = new StringBuilder();

		int x;
		x = 0;

		//出力
		sb.append("結果:\r\n");
		while (rs.next()) {
			
			if(x==0){

				for (int i = 1; i <= rsmd.getColumnCount(); i++) {

						sb.append(rsmd.getColumnName(i));

					}

			}
			
			sb.append("\r\n");
			
			for (int i = 1; i <= rsmd.getColumnCount(); i++) {

					sb.append(rs.getString(rsmd.getColumnName(i)));

				}

		}

		sb.append("\r\n");
		System.out.println(sb.toString());
		rs.close();
		stmt.close();
} catch (Exception e2){
	System.out.println("Exception: " + e2.getMessage());
}


VB Tips And Sample(HOME)VBプログラマの為のJava入門