sql >> Database teknologi >  >> RDS >> PostgreSQL

Viser billede fra PostgreSQL-database, bytea

Noget som:

// Run a query again the IMAGE table to fetch the image with the given id
public Image readImage(Connection conn, int id) throws SQLException {
  PreparedStatement pstmt = null;
  try {
    pstmt = conn.prepareStatement("SELECT contents FROM image WHERE id = ?");
    pstmt.setInt(1, id); 
    ResultSet rs = ps.executeQuery();
    if (rs.next()) {
      InputStream is = rs.getBinaryStream(1);
      return ImageIO.read(is);
    } else {
      return null;
    }
  } finally {
    if (pstmt != null) {
      try {
        pstmt.close();
      } catch (SQLException ignored) {
      }
    }
  }
}

// Display the given Image on a Swing frame
public void showImage(final Image img) {
  JFrame frame = new JFrame("Image");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setSize(img.getWidth(), img.getHeight());
  frame.add(new JPanel() {
    public void paint(Graphics g) {
      g.drawImage(img, 0, 0, null);
    }
  });
  frame.show();
}

kan virke for dig.




  1. Generering af tilfældige tal i hver række i Oracle-forespørgsel

  2. Vælg / Indsæt version af en Upsert:er der et designmønster for høj samtidighed?

  3. Java:Indsæt flere rækker i MySQL med PreparedStatement

  4. Hvordan kontrollerer man, om der findes en række i MySQL? (dvs. tjek om der findes en e-mail i MySQL)