mySQL JDBC연동 (linux에서)
(2001.3.13)
<PRE> 오늘은 jdbc드라이버를 이용한 mysql과의 연동을 해보겠습니다. 별로 어려운게 없으니까 쉽게 설치하실 수 있을겁니다. 그럼 일단 jsp에서 mysql과의 연동을 위한
jdbc 드라이버를 다운받습니다. 여기 저의 사이트 자료실에 가시면 구할 수 있구요, 아니면
http://mmmysql.sourceforge.net/dist/mm.mysql-2.0.2-bin.jar 여기로 직접 이동하셔도 됩니다. 그 다음엔 다운 받은 파일을 /usr/local/jdk/lib/ 밑에 놓습니다. 아무데다 놓아도 상관은 없지만 그냥 편의상 거기에 놓습니다. 어쨌든 임의의 디렉토리에 놓으셨으면, 이제 클래스패스에 추가하겠습니다.</PRE>
<PRE>하셔서 파일을 엽니다. 그런다음 classpath에 드라이버가 놓인 위치를 추가합니다. 저의 경우 이렇게 되어있습니다.</PRE>
export CLASSPATH=./:$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes111.zip: $JAVA_HOME/lib/classes.zip:$JAVA_HOME/lib/mm.mysql-2.0.2-bin.jar |
<PRE>빨간색으로 되어있는 부분을 추가하시면 됩니다. JAVA_HOME은 이미 이 파일의 위에</PRE>
export JAVA_HOME=/usr/local/jdk |
<PRE>이렇게 정의되어있지요. 아니면 여러분이 옮겨 놓은 위치에 맞게 클래스패스에 적으시면 됩니다. 이제 방금 추가한 것을 적용시키기 위해 이렇게 칩니다.</PRE>
<PRE>그러면 mysql의 jdbc 드라이버의 설치는 끝이납니다. 정말 간단하지 않습니까? 그럼 이제 테스트를 해야지요. 일단 테스트하기 전에 mysql에 접속할 사용자를 추가합니다. mysql에서의 사용자 관리에 대해서는 바로 전 강좌 '
mysql에서 사용자관리/권한' 에 설명해 놓았습니다. 간단하게 사용자 추가하는 방법을 요약하자면, mysql 데이타베이스의 user와 db테이블에 대해 이렇게 세 번 실행합니다.</PRE>
mysql> insert into user (host,user,password) values('localhost','kimho',password('1234'));
mysql> insert into db values('localhost','testdb','kimho','y','y','y','y','y','y','y','y','y','y');
mysql> flush privileges; |
<PRE>여기서 사용자는 kimho이고 사용하는 데이타베이스는 testdb입니다. 따라서 testdb라는 데이타베이스도 만들어야겠지요.</PRE>
mysql> create database testdb; |
<PRE>그런 다음 mytest라는 임의의 테이블을 하나 만들겠습니다.</PRE>
mysql> use testdb;
mysql> create table mytest (myword varchar(10)); |
<PRE>그리고 값을 하나 넣어두죠.</PRE>
mysql> insert into mytest values('success'); |
<PRE>이렇게 하면 테스트를 위한 준비가 끝납니다. 톰켓과 아파치를 재시작하세요. 이제 마지막으로 jsp로 된 소스를 하나 만들면 되지요.</PRE>
<%@ page language="java" import="java.sql.*" contentType="text/html;charset=KSC5601" %> <% Class.forName("org.gjt.mm.mysql.Driver");
Connection Conn = DriverManager.getConnection("jdbc:mysql://localhost/testdb","kimho","1234");
Statement stmt = Conn.createStatement(); ResultSet rs = stmt.executeQuery("select myword from mytest"); if (!rs.next()) { out.println("암것도 없다"); } else { out.println(rs.getString(1)); } stmt.close(); Conn.close(); %> |
<PRE>mysql의 testdb라는 데이타베이스의 mytest라는 테이블에서 myword값을 가져오는 소스입니다. 화면에 success라고 찍히면 성공입니다. 정말 기쁘지 않습니까? - 펌 : 김호페커..