>  기사  >  데이터 베이스  >  mysql存取图片_MySQL

mysql存取图片_MySQL

WBOY
WBOY원래의
2016-06-01 13:09:56860검색
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    |       | +--------+-------------+------+-----+---------+-------+ */

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.