java - 기초 - oracle jdbc




java.util.List<String>을 java.sql.Array로 변환하십시오. (2)

createArrayOf의 type 인수는 배열 유형이 아닌 요소 유형이므로 "varchar"또는 "text"와 같은 것을 원할 것입니다. VARIADIC은 형식 지정자가 아닌 함수 인수 수정 자입니다.

java.util.List<String> 인스턴스를 java.sql.Array 로 변환하는 방법은 무엇입니까?


connection.createArrayOf(...) 사용하십시오.

예 :

final String[] data = yourList.toArray(new String[yourList.size()]);
final java.sql.Array sqlArray = connection.createArrayOf(typeName, data);
statement.setArray(position, sqlArray);

여기서 typeName은 다음과 같습니다.

배열의 요소가 매핑되는 형태의 SQL 명 typeName는, 데이타베이스 고유의 이름으로,이 데이타베이스가 지원하는 편입 형, 사용자 정의 형, 또는 표준 SQL 형의 이름이됩니다. 이것은 Array.getBaseTypeName에 의해 리턴 된 값입니다.

주석에서 언급했듯이, 이것은 Java 1.6입니다. 이전 버전의 경우 드라이버 독립적 인 방식으로 만들 수 없습니다. 당신은 단지 배열을 생성하고 생성하지 않아야합니다. 원하는 경우 jdbc 드라이버에서 구현 클래스를 인스턴스화 할 수 있지만 이식 할 수 없습니다.





jdbc