"JDBCTest2 프로젝트"의 두 판 사이의 차이

80번째 줄: 80번째 줄:
*[[커넥션 풀]]
*[[커넥션 풀]]


[[분류: Java]]
[[분류: JDBC]]
[[분류: DB]]
[[분류: 이클립스]]
[[분류: 이클립스]]

2016년 7월 11일 (월) 14:30 판

1 개요

JDBCTest2 프로젝트
  • 커넥션 풀(Connection Pool)을 이용하는 JDBC 구현 실습
  • javax.sql.DataSource는 JDBC 2.0의 커넥션 풀 기능을 지원함
  • 실제로 커넥션이 생성, 소멸되는 것이 아니므로 빠름

2 사전 작업

3 프로젝트 생성

  • File --- New --- Java Project
  • "New Java Project" --- Project name: JDBCTest2 --- [Finish]

왼쪽 Package Explorer에 JDBCTest2 프로젝트가 생성되었다.

4 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가 추가되었다.

5 클래스 생성

  • "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();
	}

}

6 실행 결과 확인

  • Ctrl+F11 눌러 실행

아래 Console 창에서 실행결과를 확인할 수 있다.

information_schema
mysql
performance_schema
sakila
test
world

7 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}