Linux 에서 MySQL JDBC 의 연동
원본출처 : http://www.kimho.pe.kr/jsp/jsp_mysql_jdbc.html
안녕하세요? kimho입니다.
오늘은 jdbc드라이버를 이용한 mysql과의 연동을 해보겠습니다.
별로 어려운게 없으니까 쉽게 설치하실 수 있을겁니다.
그럼 일단 jsp에서 mysql과의 연동을 위한 jdbc 드라이버를 다운받습니다.
여기 저의 사이트 자료실에 가시면 구할 수 있구요,
아니면
http://mmmysql.sourceforge.net/dist/mm.mysql-2.0.2-bin.jar
여기로 직접 이동하셔도 됩니다.
그 다음엔 다운 받은 파일을 /usr/local/jdk/lib/ 밑에 놓습니다.
아무데다 놓아도 상관은 없지만 그냥 편의상 거기에 놓습니다.
어쨌든 임의의 디렉토리에 놓으셨으면, 이제 클래스패스에 추가하겠습니다.
# vi /etc/profile
하셔서 파일을 엽니다.
그런다음 classpath에 드라이버가 놓인 위치를 추가합니다.
저의 경우 이렇게 되어있습니다.
export CLASSPATH=./:$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes111.zip: $JAVA_HOME/lib/classes.zip:$JAVA_HOME/lib/mm.mysql-2.0.2-bin.jar
빨간색으로 되어있는 부분을 추가하시면 됩니다.
JAVA_HOME은 이미 이 파일의 위에
export JAVA_HOME=/usr/local/jdk
이렇게 정의되어있지요.
아니면 여러분이 옮겨 놓은 위치에 맞게 클래스패스에 적으시면 됩니다.
이제 방금 추가한 것을 적용시키기 위해 이렇게 칩니다.
# source /etc/profile
그러면 mysql의 jdbc 드라이버의 설치는 끝이납니다.
정말 간단하지 않습니까?
그럼 이제 테스트를 해야지요.
일단 테스트하기 전에 mysql에 접속할 사용자를 추가합니다.
mysql에서의 사용자 관리에 대해서는 바로 전 강좌 \mysql에서 사용자관리/권한\ 에 설명해 놓았습니다.
간단하게 사용자 추가하는 방법을 요약하자면,
mysql 데이타베이스의 user와 db테이블에 대해 이렇게 세 번 실행합니다.
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;
여기서 사용자는 kimho이고 사용하는 데이타베이스는 testdb입니다.
따라서 testdb라는 데이타베이스도 만들어야겠지요.
mysql> create database testdb;
그런 다음 mytest라는 임의의 테이블을 하나 만들겠습니다.
mysql> use testdb;
mysql> create table mytest (myword varchar(10));
그리고 값을 하나 넣어두죠.
mysql> insert into mytest values(\success\);
이렇게 하면 테스트를 위한 준비가 끝납니다. 톰켓과 아파치를 재시작하세요.
이제 마지막으로 jsp로 된 소스를 하나 만들면 되지요.
<%@ 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();
%>
mysql의 testdb라는 데이타베이스의 mytest라는 테이블에서 myword값을 가져오는 소스입니다.
화면에 success라고 찍히면 성공입니다. 정말 기쁘지 않습니까?
그럼 오늘 강좌는 여기까지 입니다.
즐거운 화이트데이 되세요~~^^
|