728x90

JDBC 4

자바 성능 튜닝 - DB사용

JDBC 관련 API는 인터페이스 입니다. 1. 드라이버 로드 2. DB서버의 DriverManager 클래스의 getConnection 메서드를 사용해 Connection 객체 생성 3. Connection으로 부터 PreparedStatement 객체 받음 4. executeQuery를 수행해 결과로 ResultSet 객체를 받아 데이터 처리 5. 모든 데이터 처리후 finally 구문을 사용해 ResultSet, PreparedStatement, Connection 객체를 예외처리하며 close 주로 Connection을 생성하는 부분에서 성능이 저하됩니다. 그러므로 Connection Pool을 이용합니다. DataSource를 이용해 Connection Pool을 생성합니다. Statement와..

Spring - DB

DB의 연동 방법 5가지 1. DB서버 직접 이용 2. JDBC 사용 3. 스프링 JDBC 사용 4. MyBatis와 같은 프레임워크 사용 5. JPA 사용 스프링에서 DB 연동을 위해 3개의 모듈을 추가합니다.(Mysql 기준) spring-jdbc : JdbcTemplate 등 JDBC 연동에 필요한 기능을 제공합니다. tomcat-jdbc : DB 커넥션 풀 기능을 제공합니다. mysql-connector-java : MySql연결에 필요한 드라이버를 제공합니다. 트랜잭션을 위해선 spring - tx가 필요한데 spring-jdbc에 의존되어져 있습니다. DataSource JDBC API는 DataSource를 이용하여 DB연결을 정의합니다. conn = DataSource.getConnecti..

JDBC - 커넥션 풀

DB를 연동하는 JSP 페이지에서 매번 Connection객체를 생성하고 반납하는 방법은 비효율적입니다. 그러므로 일정 갯수의 커넥션을 생성하여 가지고 있다가 커넥션이 필요할때 가져다가 사용하고 끝나면 다시 반납하는 방법이 효율적인 방법입니다. 이를 커넥션 풀을 사용하여 구현합니다. 커넥션 풀을 사용하면 Connection 객체의 생성과 반납에 의한 페이지 성능 저하를 대폭 개선할 수 있고 한번 사용한 커넥션을 재사용할 수 있으며 일정 개수를 유지하여 많은 커넥션으로 인한 서버 다운 등을 방지 할 수 있습니다. 커넥션 풀 구축 유형 유형 설명 직접 구현 개발자가 javax.sql.DataSource 인터페이스를 직접 구현하거나 새로운 형태의 커넥션 풀을 직접 구현하는 방법 DBCP API를 이용한 구현 ..

학습(구)/JSP 2020.09.18

DB연동-JDBC

웹 서버 애플리케이션은 프로그램의 영속성(DB에 기록하는 성질) 제어를 위해 관련 자료를 DB서버에 저장하여 사용합니다. 이때는 DB에 직접 접근하여 사용하는것이 아니라 DB서버와 관계엾이 DB와 연동이 가능하도록 JDBC API를 사용합니다. JDBC를 사용하면 프로그램 변동없이 드라이버 변동으로 DB서버 변경이 가능합니다. JDBC API JDBC API를 사용하기 위해서는 DBMS에 알맞은 JDBC 드라이버가 필요합니다. JDBC 드라이버 파일인 .jar를 WEB-INF/lib에 복사하여 사용합니다. 드라이버 클래스는 사용할때 다른 클래스와 달리 반드시 Class.forName()을 사용하여 런타임 로딩(동적로딩)을 해야합니다. 이는 드라이버 클래스가 로딩될 때 DriverManager 객체의 자동..

학습(구)/JSP 2020.09.18