1.Driver loading
2.Connection(연결)
3.Statement/PreparedStatement
4.SQL문 전송
–ResultSet(Select의 경우)
5.close(1. ResultSet, 2. Statement, 3. Connection)
String url = "jdbc:oracle:thin:@192.168.7.195";//:1521:XE";
String user = "scott"; // ID
String password = "tiger"; // PW
String driveClass = "oracle.jdbc.driver.OracleDriver";
Connection conn = null;
Statement statement = null;
ResultSet resultSet = null;
1. Drive Loading &
Class.forName(driveClass); // DriverManager.registeredDrivers();
2. 연결저장 & 연결
conn = DriverManager.getConnection(url,user,password); //연결된 것 저장
3. statement 생성
statement = conn.createStatement();
4. resultSet!
resultSet = statement.executeQuery("select department_id, department_name, location from department");
5. 닫기
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (conn != null) {
conn.close();
}
여기서 알아볼 것은!!
Class.forName("oracle.jdbc.driver.OracleDriver");
해준다면,
oracle.jdbc.dirver.OracleDriver 가 로드되고
OracleDriver를 열어보면
static
{
{...}
if (defaultDriver == null)
{
defaultDriver = new oracle.jdbc.OracleDriver();
DriverManager.registerDriver(defaultDriver);
}
{...}
}
이렇게 들어 있다. 즉, 클래스가 생성되면, DriverManager에 등록이 된다는 말이다!!!
private final static CopyOnWriteArrayList<DriverInfo> registeredDrivers = new CopyOnWriteArrayList<>();
그러면 이 변수에 자동으로 저장이 된다!!
그런데,,, Class.forName(driveClass); 을 하지않아도, 자동으로 등록이 된다!!
JDBC 4.0 / 자바 1.6 이상부터는
jdk1.6 부터는 javax.tools.JavaCompiler 인터페이스를 통해서 동적으로 컴파일할 수 있고
java.lang.invoke 등을 이용해서 보다 편하게 작업할 수 있습니다.
'JAVA > JDBC' 카테고리의 다른 글
JDBC의 구성 & 주요 DBMS (0) | 2015.03.11 |
---|---|
DAO (Data Access Objects) (0) | 2015.03.09 |
조인 (JOIN) (0) | 2015.03.03 |
WHERE절 주요 연산자 (0) | 2015.03.03 |
DCL (Data Control Language) [GRANT / REVOKE] (0) | 2015.03.03 |