CREATE TABLE IF NOT EXISTS `Images` ( `ImageId` int(11) NOT NULL AUTO_INCREMENT, `Description` varchar(150) COLLATE utf8_polish_ci NOT NULL DEFAULT '-', `ImageData` blob NOT NULL, PRIMARY KEY (`ImageId`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci
And now to manipulate the database we use two methods:
//Insert Image public void InsertImage(String description,FileInputStream fotos); //read image from table with specific id public BufferedImage getMySqlPhoto(int ImageId);
public BufferedImage getMySqlPhoto(int ImageId){ BufferedImage BI = null; Statement S; ResultSet rs; String sqlStatement = "SELECT ImageData FROM Images WHERE ImageId = '"+ImageId+"'"; try { S = con.createStatement(); rs = S.executeQuery(sqlStatement); if (rs.next()){ Blob image = rs.getBlob("ImageData"); InputStream input = image.getBinaryStream(); BI=ImageIO.read(input); // set read buffer size input.close(); } } catch (SQLException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } return BI; } public void InsertIntoZdjecie(String Description,FileInputStream fotos) { String INSERT = "INSERT INTO Images(Description,ImageData) VALUES (?,?)"; System.out.println(INSERT); PreparedStatement ps1; try { ps1 = con.prepareStatement(INSERT); ps1.setString(1, Description); ps1.setBinaryStream(2, fotos); ps1.executeUpdate(); } catch (SQLException ex) { ex.printStackTrace(); } }
Isn't it cute ? :-)
0 comments:
Post a Comment