当前位置:Gxlcms > mysql > mysql存取图片_MySQL

mysql存取图片_MySQL

时间:2021-07-01 10:21:17 帮助过:42人阅读

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 | | +--------+-------------+------+-----+---------+-------+ */

人气教程排行