Home  >  Article  >  Database  >  mysql存取图片_MySQL

mysql存取图片_MySQL

WBOY
WBOYOriginal
2016-06-01 13:09:56861browse
package com.mycompany.mysql.image;import java.io.*;import java.sql.*;public class Main {            public static void main(String[] args) {                        Main m = new Main();                        // m.storeImage();                        m.getImage();            }            private static String URL = "jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8";            private static String USERNAME = "root";            private static String PASSSWORD = "wjb1234";            public void getImage() {                        Connection con = getConnection();                        Statement st = null;                        ResultSet rs = null;                        InputStream in = null;                        OutputStream out = null;                        try {                                    st = con.createStatement();                                    rs = st.executeQuery("select image from image where id=1");                                    rs.next();	//将光标指向第一行                                    //从rs中读取stupic放进InputStream对象中                                    in = rs.getBinaryStream("image");                                    //申明byte数组,用来存放图片流                                    byte[] b = new byte[40000];                                    in.read(b);	//从InputStream对象中读取数据放进byte数组中                                    //实例化OutputStream对象,在D盘创建一个图片文件                                    out = new FileOutputStream("/home/zcwangjb/document/xml2.gif");                                    //将文件输出,内容则为byte数组里面的数据                                    out.write(b);                                    out.flush();                        } catch (SQLException e) {                        } catch (IOException e) {                        } finally {                                    try {                                                if (in != null) {                                                            in.close();                                                }                                                if (out != null) {                                                            out.close();                                                }                                    } catch (IOException e) {                                                e.printStackTrace();                                    }                                    try {                                                //关闭相关连接                                                rs.close();                                                st.close();                                                con.close();                                    } catch (SQLException ex) {                                                ex.printStackTrace();                                    }                        }            }            public void storeImage() {                        //连接MySQl数据库                        Connection con = getConnection();                        PreparedStatement ps = null;                        InputStream in = null;                        try {                                    //从本地硬盘读取一张读片                                    in = new FileInputStream("/home/zcwangjb/document/xml.gif");                                    System.out.println(in.available());                                    ps = con.prepareStatement("insert into image values(?,?,?)");                                    ps.setInt(1, 1);                                    ps.setString(2, "Tom");                                    ps.setBinaryStream(3, in, in.available());                                    ps.executeUpdate();                        } catch (IOException e) {                                    e.printStackTrace();                        } catch (SQLException e) {                                    e.printStackTrace();                        } finally {                                    try {                                                //关闭流                                                if (in != null) {                                                            in.close();                                                }                                    } catch (IOException e) {                                                // TODO Auto-generated catch block                                                e.printStackTrace();                                    }                                    try {                                                //关闭相关连接                                                ps.close();                                                con.close();                                    } catch (SQLException ex) {                                                ex.printStackTrace();                                    }                        }            }            private static Connection getConnection() {                        Connection con = null;                        try {                                    Class.forName("com.mysql.jdbc.Driver");                                    con = DriverManager.getConnection(URL, USERNAME, PASSSWORD);                        } catch (SQLException ex) {                                    //logger.error("database connection error ." + ex.getMessage());                        } catch (ClassNotFoundException ex) {                                    //logger.error("mysql jdbc driver cannot find ." + ex.getMessage());                        }                        return con;            }}/* ---------------表结构------------ 表名:image +--------+-------------+------+-----+---------+-------+ | Field  | Type        | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id     | int(4)      | NO   | PRI | NULL    |       | | name   | varchar(20) | YES  |     | NULL    |       | | image | blob        | YES  |     | NULL    |       | +--------+-------------+------+-----+---------+-------+ */

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn