inPostgres, 큰 개체(또한blobs)는 데이터베이스에서 데이터를 보유하는 데 스포츠 토토 베트맨됩니다 일반 SQL 테이블에 저장할 수 없습니다. 그들은 a에 저장됩니다 별도의 테이블은 특별한 형식으로 OID 값으로 자신의 테이블.
중요 :forPostgres, 큰 물체에 액세스해야합니다 내에서SQL거래. 너 를 스포츠 토토 베트맨하여 거래를 시작합니다.setAutoCommit ()입력이있는 메소드 매개 변수false:
연결 마이콘; ... mycon.setautocommit (false); ... // 이제 큰 물체를 사용
큰 물체를 스포츠 토토 베트맨하는 두 가지 방법이 있습니다. 첫 번째는 기준JDBCway 및 문서화되어 있습니다 여기. 다른 하나는 스포츠 토토 베트맨PostgreSQL확장APIlibpq 큰 물체를 제시APIjava, 기준. 내부적으로 운전자는 확장을 사용하여 제공합니다 큰 객체 지원.
inJDBC, 표준 방법 액세스 큰 물체는 스포츠 토토 베트맨 중입니다.getBinaryStream ()메소드resultSet및setBinaryStream ()메소드준비 상태. 이 방법은 크게 만듭니다 객체는 Java 스트림으로 나타나를 스포츠 토토 베트맨할 수 있습니다.java.io패키지 및 기타 물체를 조작하십시오.예 8-2이 접근법의 스포츠 토토 베트맨.
예 8-2. 사용 사용JDBC큰 객체 인터페이스
예를 들어 파일이 포함 된 테이블이 있다고 가정합니다. 이미지의 이름과 당신은 그것을 포함하는 큰 객체를 가지고 있습니다. 영상:
테이블 이미지 생성 (Imgname Text, Imgoid Oid);
이미지를 삽입하려면 다음을 사용합니다.
파일 = 새 파일 ( "myimage.gif"); fileInputStream fis = 새로운 fileInputStream (file); preparedstatement ps = conn.preparestatement ( "이미지 값 (?,?)";에 삽입(1)ps.SetString (1, file.getName ()); ps.setbinarystream (2, fis, file.length ()); ps.ExecuteUpdate (); ps.close (); fis.close ();
이미지를 검색하는 것이 훨씬 쉽습니다. (우리는 스포츠 토토 베트맨준비된 상태여기, 그러나성명서클래스를 동일하게 스포츠 토토 베트맨할 수 있습니다.)
preparedstatement ps = con.preparestatement ( "name =??"); ps.SetString (1, "myimage.gif"); resultSet rs = ps.ExecuteQuery (); if (rs! = null) while (rs.next ()) 입력 스트림은 = rs.getBinaryInputStream (1); // 여기에서 스트림을 사용하십시오 is.close (); rs.close ();
여기에서 큰 객체가 어떻게 검색되는지 알 수 있습니다입력 스트림. 당신은 또한 알게 될 것입니다 다음 행을 처리하기 전에 스트림을 닫습니다. 결과. 이것은의 일부입니다.JDBC사양.입력 스트림반품 |resultSet.next ()또는resultSet.close ()호출.