Melakukan Query ke Basis Data PostgreSQL di Java
Miller Trujillo
Staff Software Engineer


String sql = "INSERT INTO covers (book_id, image) VALUES (?, ?)";try (PreparedStatement pstmt = conn.prepareStatement(sql); FileInputStream fis = new FileInputStream("cover.png")) {pstmt.setInt(1, 101);pstmt.setBinaryStream(2, fis);pstmt.executeUpdate();}
INSERT - menambah baris baru ke tabelsetBinaryStream() - mengalirkan data biner ke kolom BLOBString sql = "INSERT INTO manuscripts (book_id, content) VALUES (?, ?)"; try (PreparedStatement pstmt = conn.prepareStatement(sql);FileReader reader = new FileReader("manuscript.txt")) {pstmt.setInt(1, 101);pstmt.setCharacterStream(2, reader);pstmt.executeUpdate();}
setCharacterStream() - mengalirkan data teks ke kolom CLOB
getBinaryStream() mengembalikan InputStreamgetCharacterStream() mengembalikan ReaderString sql = "SELECT image FROM covers WHERE book_id = ?"; try (PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setInt(1, 101); try (ResultSet rs = pstmt.executeQuery()) {if (rs.next()) {try (InputStream is = rs.getBinaryStream("image");FileOutputStream fos = new FileOutputStream("out.png")){is.transferTo(fos);} } } }
String sql = "SELECT content FROM manuscripts"; try (PreparedStatement pstmt = conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery()) {while (rs.next()) {try (Reader reader = rs.getCharacterStream("content")) {char[] cb = new char[30];reader.read(cb); // Chars from 0 to 29reader.read(cb); // Chars from 30 to 59: } } }
setBinaryStream(), getBinaryStream(), setCharacterStream())$$
$$

Melakukan Query ke Basis Data PostgreSQL di Java