Interface AltibaseClient
이 인터페이스는 AltibaseDatabase 인스턴스를 생성하는
정적 팩토리 메서드(static factory methods)를 제공한다.
직접 구현하거나 인스턴스를 생성할 필요 없이, 정적 메서드를 바로 호출하여 사용한다.
사용 예제
// AltibaseSession을 사용하여 AltibaseDatabase 인스턴스를 얻는 예제
try (AltibaseDatabase database =
AltibaseSession.getDatabase("jdbc:Altibase://localhost:20300/mydb?user=sys&password=manager")) {
// 데이터베이스 작업 수행
AltibaseCollection collection = database.getCollection("myCollection");
// ...
}
- Since:
- 1.0
- See Also:
-
Method Summary
Static MethodsModifier and TypeMethodDescriptionstatic AltibaseDatabasegetDatabase(String aUrl) JDBC URL을 사용하여AltibaseDatabase인스턴스를 생성하고 반환한다.static AltibaseDatabasegetDatabase(String aUrl, Properties aProps) JDBC URL과 접속 속성(Properties)을 사용하여AltibaseDatabase인스턴스를 생성하고 반환한다.static AltibaseDatabasegetDatabase(String aUrl, Properties aProps, String aUserId) JDBC URL, 접속 속성, 그리고 사용자 ID를 사용하여AltibaseDatabase인스턴스를 생성하고 반환한다.static AltibaseDatabasegetDatabase(Connection aConn) 이미 생성된 JDBCConnection객체를 사용하여AltibaseDatabase인스턴스를 생성하고 반환한다.
-
Method Details
-
getDatabase
JDBC URL을 사용하여AltibaseDatabase인스턴스를 생성하고 반환한다.URL에 사용자 정보(user, password)가 포함되어 있지 않다면,
getDatabase(String, Properties)메서드 사용을 권장한다.- Parameters:
aUrl- 접속할 Altibase 데이터베이스의 JDBC URL이다. (예:"jdbc:Altibase://localhost:20300/mydb?user=sys&password=manager")- Returns:
- 새로운
AltibaseDatabase인스턴스이다. - Throws:
AltibaseConnectionException- 데이터베이스 연결에 실패할 경우
-
getDatabase
JDBC URL과 접속 속성(Properties)을 사용하여AltibaseDatabase인스턴스를 생성하고 반환한다.- Parameters:
aUrl- 접속할 Altibase 데이터베이스의 JDBC URL이다. (예:"jdbc:Altibase://localhost:20300/mydb")aProps- 데이터베이스 접속 시 사용할 추가 속성이다. (예:user,password등)- Returns:
- 새로운
AltibaseDatabase인스턴스이다. - Throws:
AltibaseConnectionException- 데이터베이스 연결에 실패할 경우
-
getDatabase
JDBC URL, 접속 속성, 그리고 사용자 ID를 사용하여AltibaseDatabase인스턴스를 생성하고 반환한다.멀티테넌트 환경 지원: 이 메서드는 하나의 DB 계정으로 여러 사용자/애플리케이션의 데이터를 논리적으로 격리할 때 사용한다. 지정된 userId는 테이블명 프리픽스로 사용되어 각 사용자의 컬렉션이 독립된 네임스페이스를 갖게 된다.
권한 요구사항: 이 기능을 사용하려면
SYS또는KADA_API_USER계정으로 접속해야 한다. 일반 사용자 계정으로 접속 시 본인 계정명과 다른 userId를 지정하면 메타데이터 저장 프로시저(dbms_kada)에서 권한 오류가 발생한다.REST API와의 호환: REST API에서 생성한 컬렉션을 Java API에서 접근하려면
KADA_API_USER계정으로 접속 후 REST API의 JWT client_id와 동일한 userId를 지정해야 한다.사용 예제
// SYS 또는 KADA_API_USER 계정으로 접속 (멀티테넌트 권한 필요) Properties props = new Properties(); props.put("user", "kada_api_user"); props.put("password", "api_user_password"); // 멀티테넌트: 각 애플리케이션마다 독립된 네임스페이스 AltibaseDatabase mobileDb = AltibaseClient.getDatabase(url, props, "mobile_app_01"); mobileDb.createCollection("orders"); // 실제 테이블명: mobile_app_01_orders AltibaseDatabase webDb = AltibaseClient.getDatabase(url, props, "web_app_02"); webDb.createCollection("orders"); // 실제 테이블명: web_app_02_orders // REST API에서 생성한 컬렉션 접근 (동일한 client_id 사용) AltibaseDatabase restDb = AltibaseClient.getDatabase(url, props, "mobile_app_01"); AltibaseCollection orders = restDb.getCollection("orders"); // REST API와 동일한 테이블- Parameters:
aUrl- 접속할 Altibase 데이터베이스의 JDBC URL이다. (예:"jdbc:Altibase://localhost:20300/mydb")aProps- 데이터베이스 접속 시 사용할 추가 속성이다. (예:user,password등)aUserId- 멀티테넌트 사용자 ID. 테이블명 프리픽스로 사용된다. (예: "mobile_app_01")- Returns:
- 새로운
AltibaseDatabase인스턴스이다. - Throws:
AltibaseConnectionException- 데이터베이스 연결에 실패할 경우- Since:
- 1.1
-
getDatabase
이미 생성된 JDBCConnection객체를 사용하여AltibaseDatabase인스턴스를 생성하고 반환한다.이 메서드는 기존의 JDBC 코드나 커넥션 풀(Connection Pool)과 통합할 때 유용하다. 제공된
Connection의 생명주기(열고 닫는 등)는 호출하는 쪽에서 관리해야 한다.- Parameters:
aConn- 사용할 기존 JDBCConnection객체이다.null이 아니어야 하며, 연결이 유효한 상태여야 한다.- Returns:
- 새로운
AltibaseDatabase인스턴스이다. - Throws:
AltibaseConnectionException- 제공된Connection이 유효하지 않거나 닫혀있을 경우
-