imageToDB
public class TestImage {private static String driver = "com.mysql.jdbc.Driver";private static String url="jdbc:mysql://localhost:3306/hejietest";private static String username = "root";private static String password = "123";private static Connection conn ;public static void main(String[] args) throws Exception{TestImage ti = new TestImage();//ti.testHibernate();ti.testHibernateTo();//ti.testJdbc();}/** * 测试jdbc * @throws Exception */public void testJdbc()throws Exception{Class.forName(driver);conn = DriverManager.getConnection(url,username,password);PreparedStatement psta = conn.prepareStatement("insert into testImage (name,image) values('testimage',?)");FileInputStream fis = this.getFileInputStream();psta.setBinaryStream(1,fis,fis.available()); //********关键步骤psta.executeUpdate(); psta.close();PreparedStatement psta1 = conn.prepareStatement("select image from testImage where id=1");ResultSet rs = psta1.executeQuery();byte[] bt = new byte;int len = 0;FileOutputStream fos = new FileOutputStream("D:\\web_workspace\\myeclipseworkspace\\result\\src\\f1950956660.jpg");while(rs.next()){Blob b = rs.getBlob(1); //********关键步骤InputStream is = b.getBinaryStream(); //********关键步骤while((len=is.read(bt))!=-1){ fos.write(bt);}}fos.flush();fos.close();psta1.close();}/** * 测试hibernate * @throws Exception */public void testHibernate()throws Exception{Session sess = HibernateSessionFactory.getSession();Transaction tr = sess.beginTransaction();Query q = sess.createQuery("from Testimage");List list = q.list();tr.commit();Testimage ti = (Testimage) list.get(0);System.out.println(ti.getImage());Blob b = ti.getImage();// //********关键步骤InputStream is = b.getBinaryStream(); //********关键步骤String dir = "D:\\web_workspace\\myeclipseworkspace\\result\\src\\h.jpg";File f = new File(dir);FileOutputStream os = new FileOutputStream(f);System.out.println(is.available());byte[] bt= new byte; //********关键步骤is.read(bt);os.write(bt);os.close();is.close();}public void testHibernateTo()throws Exception{String dir = "D:\\web_workspace\\myeclipseworkspace\\result\\src\\h.jpg";Testimage ti = new Testimage();ti.setName("hibernate");FileInputStream fis = new FileInputStream(dir);byte[] bt = new byte;fis.read(bt);ti.setImage(Hibernate.createBlob(bt));/ //********关键步骤Session sess = HibernateSessionFactory.getSession();Transaction tr = sess.beginTransaction();sess.save(ti);sess.flush();//FileInputStream fis = new FileInputStream(dir);//byte[] bt = new byte;//Blob b = ti.getImage();////OutputStream os = b.setBinaryStream(fis.available());//OutputStream os = b.(fis.available());////fis.read(bt);//os.write(bt);//os.close();//fis.close();tr.commit();}/** * 获得文件 * @return * @throws Exception */public FileInputStream getFileInputStream()throws Exception{String dir = "D:\\web_workspace\\myeclipseworkspace\\result\\src\\1950956660.jpg";File f = new File(dir);FileInputStream fis = new FileInputStream(f);return fis;}} import java.sql.Blob;/** * Testimage entity. ** @author MyEclipse Persistence Tools */public class Testimage implements java.io.Serializable {// Fieldsprivate Integer id;private String name;private Blob image;// Constructors
页:
[1]