い〜さねっと

雑多メモ

JavaからMySQL

せっかくFreeBSDEclipse-develをインストールしたので、
ためしにJavaの適当なプログラムでも作ってみるか〜と思って、やってみることに
なんとなくデータベース操作でもしてみるかと思い、MySQLを使うことに


最初、何をどうすればいいのか全くわからんかったけど、
どうやらMySQL Connector/Jというものが必要らしい
ということでユーザ登録をしてDLする
MySQL :: MySQL Connectors
最新版は5.1らしいので、5.1をDL


DLしかないと思ったけど、どうやらportsにあるらしい…
FreeBSDユーザとして失格すぎるw

# cd /usr/ports/databases/mysql-connector-java
# make install clean

どちらでも同じやけど、インストール先が違うらしい


とりあえずDLしたファイルを、解凍して、
Eclipseのプロジェクトから、
Build Path -> Add External Archives
を選択し、jarファイルを選択する


その後、やっぱりよくわからないので、Documentationから
Excerpts from the Reference Manualを読む
英語なのでよくわからん
とりえあず、

com.mysql.jdbc.*;

はimportすると問題が生じる、とマニュアルに書いてあるので、
importせずに直接指定して利用する


そして一応できた胡散臭いソースコードがこちら
単にテーブルの値を参照して出力してるだけの誰でもできそうなプログラム

package test;

import java.sql.*;

public class TestSql {

	public static void main(String[] args) {
		try {
			
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			
			String url = "jdbc:mysql://localhost/hakobe?user=isa";
			Connection con;
		
			con = DriverManager.getConnection(url);
		
			Statement stmt = con.createStatement();
			String sql = "SELECT * FROM members";
				
			ResultSet rs = stmt.executeQuery(sql);
				
			while (rs.next()) {
				String name = rs.getString("name");
				int age = rs.getInt("age");				
				
				System.out.println("name: " + name + ", age: " + age);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
			
	}
}


実行結果はこんな感じ

name: isano, age: 22
name: hakobe932, age: 23

こんな遊びだけのプログラムだけじゃなくてちゃんとやっていかねばw