개요
- JDBCTest2 프로젝트
- 커넥션 풀(Connection Pool)을 이용하는 JDBC 구현 실습
- javax.sql.DataSource는 JDBC 2.0의 커넥션 풀 기능을 지원함
- 실제로 커넥션이 생성, 소멸되는 것이 아니므로 빠름
사전 작업
프로젝트 생성
- File --- New --- Java Project
- "New Java Project" --- Project name: JDBCTest2 --- [Finish]
왼쪽 Package Explorer에 JDBCTest2 프로젝트가 생성되었다.
JDBC 드라이버 추가
- "Package Explorer" --- JDBCTest 우클릭 --- Properties
- "Properties for JDBCTest2" 창 --- Java Build Path
- "Java Build Path" 창 --- Libraries 탭 --- [Add Library...]
- "Add Library" 창 --- Connectivity Driver Definition 선택 --- [Next >]
- Available Drive Definitions: MySQL JDBC Driver 선택 --- [Finish]
- [OK]
왼쪽 Package Explorer에 JDBCTest 프로젝트 아래에 MySQL JDBC Driver가 추가되었다.
클래스 생성
- "Package Explorer" --- JDBCTest --- src 우클릭 --- New --- Class
- "New Java Class" 창 --- Name: JDBCTestMain --- [Finish]
JDBCTestMain.java 파일이 생성되었다.
- JDBCTestMain.java 파일을 다음 내용으로 교체
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCTest2Main {
public static void main(String[] args) throws SQLException {
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "P@ssw0rd";
String qry = "show databases";
com.mysql.jdbc.jdbc2.optional.MysqlDataSource ds = new com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource();
ds.setUrl(url);
ds.setUser(user);
ds.setPassword(password);
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery( qry );
while ( rs.next() ) {
int numColumns = rs.getMetaData().getColumnCount();
for ( int i = 1 ; i <= numColumns ; i++ ) {
System.out.println( rs.getObject(i) );
}
}
rs.close();
stmt.close();
conn.close();
}
}
실행 결과 확인
- Ctrl+F11 눌러 실행
아래 Console 창에서 실행결과를 확인할 수 있다.
information_schema
mysql
performance_schema
sakila
test
world