JDBC
-
[JDBC] JDBC 템플릿데이터베이스/JDBC 2024. 11. 6. 19:04
JDBC 템플릿 선언public class Test{ private final JdbcTemplate template; public Test(DataSource dataSource){ template = new JdbcTemplate(dataSource); } } JDBC 템플릿 사용법삽입, 업데이트, 삭제template.update([sql구문], [구문에필요한 파라미터1], [구문에필요한 파라미터2] ..)조회RowMapper는 결과값을 매핑하는 용도template.update([sql구문], [RowMapper()] , [구문에필요한 파라미터2] ..)private RowMapper testRowMapper() { return (rs, rowNum) ..
-
[JDBC] 트랜잭션 템플릿데이터베이스/JDBC 2024. 11. 6. 00:15
트랜잭션 매니저 코드트랜잭션 commit(), rollback() 반복 사용의 불편함//트랜잭션 시작TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());try { //비즈니스 로직 bizLogic(fromId, toId, money); transactionManager.commit(status); //성공시 커밋 } catch (Exception e) { transactionManager.rollback(status); //실패시 롤백 throw new IllegalStateException(e); } 트..
-
[JDBC] 커넥션 풀데이터베이스/JDBC 2024. 11. 4. 23:34
1. 커넥션 풀이란?2. 커넥션 풀 구조3. 커넥션 풀 오픈소스4. 커넥션 풀 직접 구현 Connection Pool 이란?DB와 연결을 짓는 과정자체를 Connection 과정이라고 일컫는다.여기서 매번 DB와의 연결을 위해서 TCP/IP 3wayhandshake를 과정을 거치기도 하고, 인증과정도 거치게된다.이런 과정속에서 인증하고 커넥션 작업을 하는데에만 리소스를 많이 사용하게 될 수도 있기에 미리 커넥션을 맺어놓아 보관해두는 공간을 "Connection Pool"이라고 한다.위의 그림과 같은 과정을 통해 DB의 커넥션을 가지고 올 수 있다단점매번 요청시마다 커넥션을 맺는과정을 거쳐야한다. (리소스를 효율적으로 사용하지 못함)DB의 상황에따라 많은 수의 쿼리 요청을 받지 못할 가능성이 존재한다.데이..
-
[JDBC] JDBC 의 이해데이터베이스/JDBC 2024. 10. 31. 18:07
JDBC 란?자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API를 의미함.JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다 JDBC 이해클라이언트 (APP, WEB)의 요청이 들어오면, Application Server에서 요청을 분석하고 필요한 데이터를 DB를 통해 가지고 오게된다 Application은 필요한 데이터가 있을 때, 3가지 절차를 지나게 된다커넥션 연결 : DB 와 연결을 하기위해 커넥션 설정을 한다SQL 전달 : DB에 쿼리를 하기 위해서, SQL을 전달하게 된다결과 응답 : SQL 결과를 응답을 통해, Application Server에 전달하게 된다 여기서, JDBC의 사용 이유 (?)DB의 경우, 여러 회사들에 따라 서로다른 접근, 결과 포멧들이 나뉘..