| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Interface
- GitHub_Actions
- 카카오인증토큰받기
- 백엔드 로드맵
- Docker
- 엔티티 생명주기
- tag
- 인스턴스
- form
- 어떤 개발자?
- Spring API
- MIND 2023 #후기
- input
- 상속
- spring
- 백엔드공부
- 엔티티 매니저
- 카카오인가코드받기
- oAuth2
- html
- 예외
- feignClient
- jenkins
- button
- static
- ci/cd
- Java
- 백엔드스쿨
- 카카오사용자정보가져오기
- 제로베이스
- Today
- Total
HiDevelop
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에서 관리하는 것입니다.