- Loại dữ liệu mà bạn có thể sử dụng là
BLOB
. -
Chuyển đổi tệp PDF và giữ nguyên
byte []
mảng trong cơ sở dữ liệu.private byte[] getByteArrayFromFile(final Document handledDocument) throws IOException { final ByteArrayOutputStream baos = new ByteArrayOutputStream(); final InputStream in = new FileInputStream(handledDocument); final byte[] buffer = new byte[500]; int read = -1; while ((read = in.read(buffer)) > 0) { baos.write(buffer, 0, read); } in.close(); return baos.toByteArray(); }
-
Để chèn nó vào DB Nếu bạn đang sử dụng bất kỳ công cụ ORM nào, bạn chỉ cần ánh xạ cột dưới dạng đốm màu và công cụ sẽ xử lý nó cho bạn. Trong trường hợp bạn không sử dụng nó thì bạn có thể tạo một câu lệnh đã soạn sẵn. Câu lệnh có một phương thức gọi là setBlob () sẽ hữu ích. Hãy xem xét ví dụ dưới đây và tạo một truy vấn chèn bình thường với cột blob.
String sql = "INSERT INTO testtable(stringcolumn, blobcolumn) VALUES(?,?)"; PreparedStatement statement = conn.getConnection().prepareStatement(sql); statement.setLong(1, version); ByteArrayInputStream bais = new ByteArrayInputStream(getByteArrayFromFile(document)); statement.setBlob(2, bais); statement.execute(); conn.commit();