6장. JDBC 데이터 소스 사용


다음 주제에서는 Fuse OSGi 런타임의 JDBC 데이터 소스 사용에 대해 설명합니다.

6.1. 연결 인터페이스 정보

데이터 조작을 수행하는 데 사용되는 가장 중요한 오브젝트java.sql.Connection 인터페이스 구현입니다. Fuse 구성 관점에서 Connection 개체를 가져오는 방법을 알아야 합니다.

관련 오브젝트가 포함된 라이브러리는 다음과 같습니다.

  • PostgreSQL: mvn:org.postgresql/postgresql/42.2.5
  • MySQL: mvn:mysql/mysql-connector-java/5.1.34

기존 구현( 드라이버 JAR에 포함)은다음을 제공합니다.

  • PostgreSQL: org.postgresql.jdbc.PgConnection
  • MySQL: com.mysql.jdbc.JDBC4Connection ( com.mysql.jdbc.Driver의 다양한 connect*() 메서드 참조)

이러한 구현에는 DML, DDL 및 간단한 트랜잭션 관리를 수행하는 데이터베이스별 논리가 포함됩니다.

이론적으로는 이러한 연결 오브젝트를 수동으로 생성할 수 있지만 더 깔끔한 API를 제공하기 위해 세부 정보를 숨기는 두 가지 JDBC 방법이 있습니다.

  • java.sql.Driver.connect() - 이 방법은 오래 전에 독립 실행형 애플리케이션에서 사용되었습니다.
  • javax.sql.DataSource.getConnection() - 팩토리 패턴을 사용하는 데 권장되는 방법입니다. 유사한 방법은 JMS 연결 팩토리에서 JMS 연결을 가져오는 데 사용됩니다.

드라이버 관리자 접근 방식은 여기에서 논의되지 않습니다. 이 메서드는 지정된 연결 개체에 대한 일반 생성자보다 작은 계층 임을 명시하는 것으로 충분합니다.

데이터베이스별 통신 프로토콜을 효과적으로 구현하는 java.sql.Connection 외에도 다른 두 가지 특수 연결 인터페이스가 있습니다.

  • javax.sql.PooledConnection 은 물리적 연결을 나타냅니다. 코드가 이 풀링된 연결과 직접 상호 작용하지 않습니다. 대신 getConnection() 메서드에서 얻은 연결이 사용됩니다. 이 방법을 사용하면 애플리케이션 서버 수준에서 연결 풀을 관리할 수 있습니다. getConnection() 을 사용하여 얻은 연결은 일반적으로 프록시입니다. 이러한 프록시 연결이 닫히면 물리적 연결이 닫히지 않고 관리되는 연결 풀에서 다시 사용할 수 있게 됩니다.
  • javax.sql.XAConnection 을 사용하면 javax. Cryostat. TransactionManager와 함께 사용하기 위해 XA 인식 연결과 연결된 javax. Cryostat.xa. XAResource 개체를 가져올 수 있습니다. javax.sql.XAConnectionjavax.sql.PooledConnection을 확장하므로 일반적인 DML/DQL 메서드를 사용하여 JDBC 연결 오브젝트에 대한 액세스를 제공하는 'getConnection() 메서드도 제공합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.