JSP에서 MySQL 사용하기


JSP에서는 보통 Oracle DB와 연동을 하는 경우가 많은데 

MySQL과 연동하는 경우도 있다. 이를 위한 설정 작업에 대해서이다.


(1) APM을 설치하는 방식

Apache, PHP, MySQL을 설치한 경우에도 JSP에서 간단히 MySQL과 연동할수 있다.

APM은 설치하기가 간단하기 때문에 이 방식이 편리할수도 있다.


 ① MySQL용 JDBC 드라이버 설치

APM을 통해서 MySQL이 설치가 되었다면 JSP에서 MySQL에 접속하기 위해서는 JDBC라는 드라이버를 설치해야 한다. 이를 설치하기 위해서는


http://www.mysql.com/ ⇒ Downloads 탭 ⇒ Community라는 하위 탭 ⇒ 우측의 MySQL Connectors 항목 클릭 ⇒ Connector/J  ⇒ Connector/J 5.1.40 하위의 ZIP 파일 다운로드 ⇒ 압축을 푼 후 mysql-connector-java-5.1.40-bin.jar를 Java가 설치된 폴더 중 jre7/lib/ext 폴더에 복사해 넣는다. 그리고 JSP 프로젝트의 WEB-INF/lib 폴더에도 복사해 넣는다.

여기까지가 되면 JSP에서 MySQL을 사용할 준비가 된것이다.


※ MySQL Connectors가 각 언어별(C++, .Net, Python...) 접속 드라이버를 제공하는데 그 중에서 Connector/J가 Java를 위한 연결(접속) 드라이버이다. 즉 JDBC 라이브러리이다.


(2) MySQL을 독립적으로 설치하기

http://www.mysql.com/ ⇒ Downloads 탭 ⇒ Community라는 하위 탭 ⇒ 우측의 MySQL Community Server 클릭 ⇒ Download MySQL Community Server로 이동 ⇒ MySQL Community Server 5.7.17에대한 다운로드들 중 ZIP 압축파일이 아닌 MSI 형태의 Installer를 다운로드 할 것 즉 Windows (x86, 32-bit), MSI Installer를 다운로드 할 것  ⇒ 설치


※ 설치 방법은 좀 복잡한데 다음 사이트 참조

http://withcoding.com/26


(3) JSP에서 사용하기

<%@page import="java.sql.ResultSet"%>

<%@page import="java.sql.Statement"%>

<%@page import="java.sql.Connection"%>

<%@page import="java.sql.DriverManager"%>


... 중 략 ...

<%

Class.forName("com.mysql.jdbc.Driver");


/*

Connection java.sql.DriverManager.getConnection(String url, String user, String password) throws SQLException

Parameters:

url - a database url of the form jdbc:subprotocol:subname

user - the database user on whose behalf the connection is being made

password - the user's password

Returns:

a connection to the URL

Throws:

SQLException - if a database access error occurs

*/

//아래에서 world는 DB 이름이다.

//2번째 매개인자 aabb : world라는 DB의 계정 id

//3번째 매개인자 ccee : world라는 DB의 계정 비번

Connection conn = null;

  conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/world?useUnicode=true&characterEncoding=utf8", "aabb", "ccee");

String qry = "select Name, Population, CountryCode from city";

Statement stmt = null;

ResultSet rt = null;

if (conn != null){

out.println("world DB로 연결 성공<br/>");

stmt = conn.createStatement();

rt = stmt.executeQuery(qry);

%>

<table border="1" cellspacing="0" cellpadding="5" valign="middle">

<tr>

<th>국가명</th>

<th>인 구</th>

<th>국가코드</th>

</tr>

<%

  while(rt.next())

{

%>

<tr>

<td><%= rt.getString("Name") %></td>

<td><%= rt.getString("Population") %> 명</td>

<td><%= rt.getString("CountryCode") %></td>

<tr>

<%

} //while 

%>


</table>

<%

conn.close();

out.println("DB close~<br/>");

} else {

out.println("world DB로 연결 실패<br/>");

}

%>


+ Recent posts