카테고리 없음

JDBC와 DBCP

꽃달린감나무 2021. 11. 3. 01:33
728x90




jDBC를 통해 insert / update/ delete/ select / join을 사용해서 콘솔창에 띄워보기

 

*INSERT

executeQuery()는 select 쿼리문일 때만 사용가능한지 모르고 사용했다가 오류가 발생했습니다.
INSERT,DElETE 등의 쿼리를 사용할 때에는 executeUpdate()을 사용해 정수값으로 결과를 받아줬습니다.

사용한 코드

//String sql ="INSERT INTO school.score1(id,math,eng)VALUES(4,99,99)";

// int ret = pstmt.executeUpdate();

// System.out.println("Return : " + ret);



*UPDATE

ID =1 의 내용을 math =0 eng =0으로 수정해라를 하였습니다

*DELETE

id =4의 값을 삭제시켜라 하였고 다음결과를 확인하니 삭제되었습니다!

 

*SELECT

select로 socre1테이블이 아닌 student1 테이블을 출력했습니다!









*JOIN

score1 과 student1의 테이블 합쳐 각 학생들의 시험점수를 나타냈습니다



*DBCP에 대하여 알아보기

 

DBCP 정의

DBCP 는 Database Connection Pool의 약자로DataBase와 Connection을 맺고 있는 객체를 관리하기 위한 Connection Pool입니다.

 

JDBC와 연관지어 DBCP를 설명하면 

JDBC는 

  1. 고기한 점을 굽기위해서 불을킨다 (connetcion을 연다.) -2초
  2. 고기를 한 점을 다 구웠다.(객체 생성 및 쿼리를 실행 &ResultSet을 조작)-5초
  3. 고기 불을 끈다 (connetcion을 닫는다.)-2초

ResultSet : 명령에 대한 반환값으로 쿼리문을 작성하면 그 쿼리에 대한 결과값을 가져다준다.

이렇게 할 시에 고기를 구울때마다 불을 껐다 켜야하므로 고기를 굽게 될때 많은 시간을 낭비하게 됩니다. 예를 들어 한 서버에 사람이 들어올때마다 Connetcion을 열고 닫음을 반복하는 것보다 절차를 생략하는 것이 속도나 효율측에 더 이익을 받는 부분이 많습니다. 

따라서 DBCP는 한 번 오픈한 커넥션을 닫지 않고 Pool이라 칭해지는 Connection을 관리하는 곳에서 오픈된 상태의 Connection을 가지고 있다가 Connection이 필요한 곳에 이미 오픈된 Connection을 할당해주고, 작업이 끝나면 다시Pool에서 관리하는 것입니다.

 

728x90