Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Hiển thị hình ảnh từ cơ sở dữ liệu MySQL trên một cột duy nhất của JTable

Vì bạn đã sử dụng preparedstatement.setBlob(1, InputStream); để lưu trữ hình ảnh, tôi phải giả định rằng bạn đã lưu trữ tệp / định dạng hình ảnh vật lý chứ không chỉ dữ liệu pixel.

Bạn cần đọc lại định dạng hình ảnh này và chuyển đổi sang định dạng hình ảnh được hỗ trợ cho Swing / Java.

Bắt đầu bằng cách lấy Blob tham chiếu đến trường cơ sở dữ liệu ...

Blob blob = rs.getBlob(1);

Sau khi bạn có Blob , bạn có thể sử dụng nó là nhị phân InputStream và đọc dữ liệu ...

BufferedImage image = null;
try (InputStream is = blob.getBinaryStream()) {
    image = ImageIO.read(is);
} catch (IOException exp) {
    exp.printStackTrace();
}

Bây giờ, bạn có thể đặt nó thành ImageIcon sử dụng new ImageIcon(image) và đặt cái này trong mô hình bảng của bạn ...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xóa, Cập nhật với các bảng dẫn xuất?

  2. PHP - tìm nạp stmt đã chuẩn bị vào lớp:Không tìm thấy lớp Lỗi nghiêm trọng

  3. Tham số '@myLeft' phải được xác định

  4. Cách sửa lỗi trong hàm MySQL

  5. làm thế nào để truy vấn nhiều-nhiều?