Java+jdbc+Drizzle Sample code
Drizzle은 설치되고 drizzled가 떠 있다고 가정한다
1. 우선 java부터 쓸 수 있도록 환경 구성
> java -version
으로 확인
깔려 있지 않다면 받아서 설치부터 go go(sun java 나 open jdk를 알아서...)
sun 버전을 설치한다면
> sudo apt-get install sun-java6-jdk
다른 자바 버전들이 여러개 깔려 있는 경우는
> sudo update-alternatives --config java
There are 2 choices for the alternative java(providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode
Press enter to keep the default[*], or type selection number:
에서 원하는 패키지를 지정해주면 된다
2. jdbc for drizzle 을 설치하자
http://drizzle.org/wiki/JDBC/BuildingAndTesting 에서 다운로드 받고 컴파일 해야되는데 maven도 필요하고 여러가지로 귀찮다.
binary를 바로 받아서 쓰려면
http://repo2.maven.org/maven2/org/drizzle/jdbc/drizzle-jdbc/0.5/ 여기서 다운로드 받고
jar 들이 설치된 위치에 복사하자
> cp drizzle-jdbc-0.5.jar /usr/share/java
java가 실행될 때 이 jdbc가 제대로 참조되게 하려면
.profile 이나 .bashrc 에 CLASSPATH를 설정해야 한다
# Drizzle-jdbc Config
export CLASSPATH="$CLASSPATH:/usr/share/java/drizzle-jdbc-0.5.jar"
다 되었으면 다음으로...
3. Sample java code
지정된 NewtestDB라는 schema에 test용으로 a 라는 table을 생성하는 java code이다
> vi example_drizzle.java
----------------------------------------------------------------------------------------
import java.sql.*;
public class example_drizzle {
public static void main(String args[]) {
try {
Class.forName("org.drizzle.jdbc.Driver");
} catch (Exception e) {
System.out.println(e.getMessage());
System.exit(1);
}
try {
Connection con = DriverManager.getConnection("jdbc:drizzle://localhost:4427/NewtestDB");
Statement st = con.createStatement();
st.executeUpdate("CREATE TABLE a (id int not null primary key, value varchar(20))");
st.close();
con.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
----------------------------------------------------------------------------------------
이제 컴파일 해 본다
> javac example_drizzle.java
오류가 없으면 다음과 같이 실행해 본다
> java example_drizzle
Sep 17, 2009 6:54:22 PM org.drizzle.jdbc.internal.drizzle.DrizzleProtocol
정보: Connected to: localhost:4427
Sep 17, 2009 6:54:22 PM org.drizzle.jdbc.internal.drizzle.DrizzleProtocol close
정보: Closing connection
Sep 17, 2009 6:54:22 PM org.drizzle.jdbc.internal.common.packet.AsyncPacketFetcher run
정보: Connection closed
와 같이 출력되고 a 라는 테이블이 생성될 것이다.