-
[Camel][JSP] MySQL JDBC 연동 in JSP, JavaJSP 2020. 3. 14. 21:12
1. JDBC란?
JSP를 비롯한 Java기반의 어플리케이션에서 데이터베이스를 사용할 때는 JDBC API를 사용해서 코딩을 합니다. Java는 DBMS의 종류와 상관없이 하나의 JDBC API를 사용해서 데이터 베이스 작업을 처리하게 됩니다.
각각의 DBMS는 자신에게 적절한 JDBC 드라이버를 제공하며, JDBC API는 JDBC 드라이버를 거쳐서 데이터베이스와 통신합니다. 즉, DBMS에 알맞은 JDBC 드라이버가 존재한다면 어떤 데이터베이스라도 사용할 수 있는 것입니다.
그렇기 때문에 JDBC 프로그래밍을 하기 위해서는 사용할 DBMS에 알맞은 JDBC 드라이버가 있어야 하고, 이 JDBC 드라이버는 클래스 형태로 존재하며 일반적으로 jar 파일로 제공됩니다. 저는 JDBC 프로그래밍에 앞서 MySQL 사이트에서 제공하는 mysql-connector-java-버전-bin.jar 파일에 포함된 MySQL용 JDBC 드라이버인 Connector/J를 준비했습니다.
2. MySQL JDBC 드라이버 연동
1. 검색 창에 "Connector j" 라고 검색해서 접속하거나, 링크의 사이트에서 각자의 OS를 맞게 선택한 후 용량이 큰 파일을 다운받습니다.
2. 저는 Windows를 사용하기 때문에 OS 선택 부분에서 Platform Independent를 선택했습니다.
3. 다운 받은 압축파일의 내부를 확인해보면 아래와 같습니다. 압축을 풀면 아래와 같이 빨간 네모로 표시된 jar 파일을 확인할 수 있습니다.
4. 이제 이클립스에서 프로젝트를 우클릭한 뒤 Build Path - Configure Build Path를 실행합니다.
5. Property 창에서 아래와 같이 Java Biuld Path - Libraries - Add External JARs... 을 선택한 후 아까 다운 받아 압축을 풀어서 나온 jar 파일을 선택해줍니다.
6. 성공적으로 jar 파일을 추가했다면 아래와 같은 화면을 확인할 수 있습니다. 이제 Apply 또는 Apply and Close를 눌러줍니다. 여태까지의 과정을 문제 없이 수행했다면 이제 MySQL JDBC 드라이버의 준비가 끝났습니다.
3. JSP페이지에서 JDBC 프로그래밍 예제 코드
예제코드에 대한 설명은 다음 포스팅에서 자세히 다루겠습니다.
<%@ page contentType = "text/html; charset=utf-8" %> <%@ page import = "java.sql.DriverManager" %> <%@ page import = "java.sql.Connection" %> <%@ page import = "java.sql.Statement" %> <%@ page import = "java.sql.ResultSet" %> <%@ page import = "java.sql.SQLException" %> <html> <head><title>Member List</title></head> <body> MEMBMER Table Contents <table width="100%" border="1"> <tr> <td>Name</td><td>ID</td><td>E-Mail</td> </tr> <% // MySQL JDBC Driver Loading Class.forName("com.mysql.jdbc.Driver"); Connection conn = null; Statement stmt = null; ResultSet rs = null; try { String jdbcDriver = "jdbc:mysql://localhost:3306/ch2?" + "useUnicode=true&characterEncoding=utf8"; String dbUser = "camel"; String dbPass = "1234"; String query = "select * from MEMBER order by MEMBERID"; // Create DB Connection conn = DriverManager.getConnection(jdbcDriver, dbUser, dbPass); // Create Statement stmt = conn.createStatement(); // Run Qeury rs = stmt.executeQuery(query); // Print Result (Run by Query) while(rs.next()) { %> <tr> <td><%= rs.getString("NAME") %></td> <td><%= rs.getString("MEMBERID") %></td> <td><%= rs.getString("EMAIL") %></td> </tr> <% } } catch(SQLException ex) { out.println(ex.getMessage()); ex.printStackTrace(); } finally { // Close Statement if (rs != null) try { rs.close(); } catch(SQLException ex) {} if (stmt != null) try { stmt.close(); } catch(SQLException ex) {} // Close Connection if (conn != null) try { conn.close(); } catch(SQLException ex) {} } %> </table> </body> </html>
예제코드에 대한 설명은 다음 포스팅에서 자세히 다루겠습니다.
'JSP' 카테고리의 다른 글
[Camel][JSP] JDBC 프로그래밍 2부 in JSP (0) 2020.03.15 [Camel][JSP] JDBC 프로그래밍 1부 in JSP (0) 2020.03.14 [Camel][JSP] JavaBean(자바빈) & <jsp:useBean> 액션태그 (0) 2020.03.13 [Camel][JSP] Session (세션) (0) 2020.03.13 [Camel][JSP] CookieBox 클래스 & 로그인 페이지 (0) 2020.03.13