학원/JSP - 학원

데이터베이스와 JDBC를 이용한 JSP와의 연동

수풀속의고라니 2022. 3. 16. 12:50
728x90

JDBC(JAVA DATAbase Connectivity)

 

- JDBC 드라이버가 없을 때 500에러가 뜨게 됨

 

이클립스에 데이터베이스 연동

 

- 버전은 6이나 7을 많이 사용하며, 이들은 오라클에서 제공하는 라이브러리에 있음

 

JDBC를 이용한 데이터베이스 연결

 

- 순서가 존재한다.

 

오라클에서 연결

 

- 아래의 2개가 getConnection의 url값

- jar파일을 tomcat9.0에 복사해서 옮겨야 함

 

<예제>

 

 

MySql 연결

 

- 오라클과 MySql에서의 형태가 조금씩 다른 것을 알 수 있음

- 다운 이후에 8.0 command line client 실행

- show databases;

- create database jspdb;

 

- sql 커넥터에 있는 jar 파일 tomcat에 복사

 

 

JDBC를 이용한 데이터베이스 조작

 

- 앞선 내용들이 1, 2의 과정

 

 

3단계에서

- select문은 쿼리메소드

- insert같은건 업데이트메소드

 

excuteQuery() 메소드와 select문

 

- 조회

- 조회 결과를 rs객체에 담는다.

- rs객체에 next메소드를 붙여서 값이 있으면 참 나오도록

- 값을 가져올 때는 rs객체에 getString메소드로(괄호 안의 내용은 컬럼 명으로 해당 값 가져옴)

 

- rs객체에서 사용할 수 있는 메소드들로 대부분은 next메소드 사용

- 이전행, 첫번째 행, 마지막 행

 

- 실행한 반대 순서대로 close(rs - state인 select - 위의 con)

 

 

<예제 - 오라클 출력>

 

 

- SQL디벨로퍼에서 MEMBER2 테이블 생성

 

 

- 테이블에 값 삽입

- commit;

 

 

- doctype부분을 지우고 선언문 삽입

 

 

- body 안에 내용

- 먼저 테이블을 생성

- conn, stmt, rs에 값 넣어줌

- 만든 테이블의 각 행과 열에 맞춰서 값을 바로 가져올 수 있도록 표현문 사용

- 오류가 날 경우 catch문으로 오류 메시지 출력

- finally에서 rs, stmt, conn순으로 종료

 

<예제>

 

- 데이터베이스를 바꿈

- 이후에 테이블 제작

 

 

 

- 약간 다른 형태로 테이블 생성

- 오라클과는 타입에 차이가 있음

 

 

- 데이터 삽입

 

 

- 위의 예제와 달라진 부분은 타입이 int로 바뀐 class를 출력하는 부분

 

<문제 - MySql로 위와 같이 출력>

 

 

excuteUpdate() 메소드와 insert문

 

<예제>

 

 

 

 

- addForm.html

 

 

body

 

- addMember.jsp

- 추가 작업을 누르면 form부분으로 돌아가고, 검색 작업을 누르면 viewMember.jsp로 가게 됨

 

 

- 추가에 성공하면 입력한 정보가 테이블에 추가된 것을 확인 가능

 

 

- 한글은 그냥 입력하면 깨져서 입력됨

 

 

- 모두 utf-8로 바꾼 다음에 저렇게 해주면 한글이 나오게 됨

- request.setCharacterEncoding("utf-8");도 안먹히면

- response.setContentType("test/html; charset=utf-8"); 이거를 body에 넣어서 실행

 

위의 내용을 MySql로 나타낼 때는 앞에서 한거처럼 두 부분만 바꿔주면 됨

 

 

이클립스로 MySql과 연동

 

 

 

 

open scrap book

 

 

 

- 선택하고 alt+x 

728x90