본문 바로가기

Technical/Development

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 라는 테이블이 생성될 것이다.