순간을 성실히, 화려함보단 꾸준함을

[jsp] jdbc 와 mySQL 연동하기 본문

나의 개발 메모장

[jsp] jdbc 와 mySQL 연동하기

폭발토끼 2020. 11. 6. 21:22

※대략적인 설치 같은 건 다른 블로그를 통해서 따라하시는 걸 추천드립니다. 정리 잘 되어있는 블로그들 많습니당.

 

1.프로젝트를 생성해 줍니다. [Web] - [Dynamic Web Project] 를 선택해 줍니다.

[이미지 1]

2.서블릿을 만들어 줍니다. [src] - [오른쪽 마우스키 클릭] - [servlet] 선택

(package 와 class name은 본인들 마음대루~)

[이미지 2]

3.JDBC Driver(mysql-connector-java-8.0.22,jar)를 lib 폴더에 대입해줍니다

[이미지 3]

 

[이미지 4]

4. Driver, url, (mysql)유저 아이디, (mysql)유저 패스워드 설정 및 연결

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import java.sql.*;
import java.sql.DriverManager;
import java.sql.Connection;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/bs")
public class Bookservlet extends HttpServlet {
   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      response.setContentType("text/html; charset=UTF-8");
      PrintWriter out = response.getWriter();
      
      String driver = "com.mysql.jdbc.Driver";
      String url="jdbc:mysql://127.0.0.1/library?characterEncoding=UTF-8&serverTimezone=UTC";
      String id="library";
      String pw="1234";
      
      Connection con = null;
      Statement stmt = null;
      ResultSet res = null;
      try {
         Class.forName(driver);
         con = DriverManager.getConnection(url,id,pw);
         stmt = con.createStatement();
         String sql = "SELECT * FROM book";
         res = stmt.executeQuery(sql);
         
         while(res.next()) {
            int bookid = res.getInt("book_id");
            String bookName = res.getString("book_name");
            String bookloc = res.getString("book_loc");
         //   int price = res.getInt("price");
            
            out.print("bookid :" + bookid + ", ");
            out.print("bookName : " + bookName + ", ");
            out.print("bookloc : " + bookloc + "<br>");
            //out.print("price : " + price +"<br>");
            
         }
      }catch(Exception e){
         e.printStackTrace();
      }finally {
         try {
            if(res!=null)res.close();
            if(stmt!=null)stmt.close();
            if(con!=null)con.close();
         }catch(Exception e) {
            e.printStackTrace();
         }
      }
   }
   protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      // TODO Auto-generated method stub
      doGet(request, response);
   }
}

######################################################################

import java.sql.*;

import java.sql.DriverManager;

import java.sql.Connection;

이 부분이 선언 되었는지 먼저 확인해 주세요. 없으면 추가!!

######################################################################

String driver = "com.mysql.jdbc.Driver"; // 드라이버 연결

String url = "jdbc:mysql://127.0.0.1/library?characterEncoding=UTF-8&serverTimezone=UTC"; //library 이게 중요합니다. library 라는 스키마를 연결해주는 부분이니 각자 만드신 스키마의 명을 대입해 주세요.

String id="library"; //mysql 유저 아이디 입니다.

String pw="1234" //mysql 유저 패스워드 입니다.

 

※mySQL 에서 유저 아이디/패스워드 추가

5.나머지 소스들은 기본적인 jsp 문법과 sql 문법이니 다른 곳에서 공부!!!

 

감사합니다