Connection

Connection (데이터베이스 연결 인터페이스)

특정 데이터베이스와의 연결(세션)입니다. SQL 문은 연결의 맥락 안에서 실행되고 결과가 반환됩니다. Connection 객체의 데이터베이스는 자신의 테이블, 지원하는 SQL 문법, 저장 프로시저, 연결의 능력 등을 설명하는 정보를 제공할 수 있으며, 이 정보는 getMetaData 메서드로 얻습니다.

출처: Java API Reference

본문

Connection을 구성할 때 JDBC 애플리케이션은 setAutoCommit, setTransactionIsolation 같은 적절한 Connection 메서드를 사용해야 합니다. JDBC 메서드가 존재하는데 SQL 명령을 직접 호출해 연결 구성을 바꿔서는 안 돼요.

기본적으로 Connection 객체는 자동 커밋(auto-commit) 모드이며, 각 문을 실행한 뒤 변경을 자동 커밋합니다. 자동 커밋 모드가 비활성화되면 변경을 커밋하려면 commit 메서드를 명시적으로 호출해야 하며, 그렇지 않으면 데이터베이스 변경이 저장되지 않습니다.

JDBC 2.1 코어 API로 만든 새 Connection 객체는 처음에 빈 타입 맵을 가집니다. 사용자는 이 타입 맵에 UDT에 대한 커스텀 매핑을 넣을 수 있어요. ResultSet.getObject로 UDT를 가져오면 getObject는 연결의 타입 맵에 해당 UDT 항목이 있는지 확인하고, 있으면 표시된 클래스로 매핑하며 없으면 표준 매핑으로 매핑합니다.

트랜잭션 격리 수준 상수로 TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE를 제공합니다.

대표적인 메서드

Statement createStatement() throws SQLException
PreparedStatement prepareStatement(String sql) throws SQLException
CallableStatement prepareCall(String sql) throws SQLException
void commit() throws SQLException
void rollback() throws SQLException
void close() throws SQLException
boolean isClosed() throws SQLException
void setAutoCommit(boolean autoCommit) throws SQLException
DatabaseMetaData getMetaData() throws SQLException

더 알아보기 (Learn more)

Java 공식 API