JDBC와 DBCP
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는
- 고기한 점을 굽기위해서 불을킨다 (connetcion을 연다.) -2초
- 고기를 한 점을 다 구웠다.(객체 생성 및 쿼리를 실행 &ResultSet을 조작)-5초
- 고기 불을 끈다 (connetcion을 닫는다.)-2초
ResultSet : 명령에 대한 반환값으로 쿼리문을 작성하면 그 쿼리에 대한 결과값을 가져다준다.
이렇게 할 시에 고기를 구울때마다 불을 껐다 켜야하므로 고기를 굽게 될때 많은 시간을 낭비하게 됩니다. 예를 들어 한 서버에 사람이 들어올때마다 Connetcion을 열고 닫음을 반복하는 것보다 절차를 생략하는 것이 속도나 효율측에 더 이익을 받는 부분이 많습니다.
따라서 DBCP는 한 번 오픈한 커넥션을 닫지 않고 Pool이라 칭해지는 Connection을 관리하는 곳에서 오픈된 상태의 Connection을 가지고 있다가 Connection이 필요한 곳에 이미 오픈된 Connection을 할당해주고, 작업이 끝나면 다시Pool에서 관리하는 것입니다.