Heim  >  Artikel  >  Datenbank  >  mysql存取图片_MySQL

mysql存取图片_MySQL

WBOY
WBOYOriginal
2016-06-01 13:09:56862Durchsuche
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    |       | +--------+-------------+------+-----+---------+-------+ */

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn