zoukankan      html  css  js  c++  java
  • ClobTest BlobTest

    
    
    package cn.itcast.jdbc;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    /**
     * 
     * 2008-12-6
     * 
     * @author <a href="mailto:liyongibm@hotmail.com">李勇</a>
     * 
     */
    public final class JdbcUtils {
        private static String url = "jdbc:mysql://localhost:3306/jdbc";
        private static String user = "root";
        private static String password = "";
    
        private JdbcUtils() {
        }
    
        static {
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                throw new ExceptionInInitializerError(e);
            }
        }
    
        public static Connection getConnection() throws SQLException {
            return DriverManager.getConnection(url, user, password);
        }
    
        public static void free(ResultSet rs, Statement st, Connection conn) {
            try {
                if (rs != null)
                    rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (st != null)
                        st.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                } finally {
                    if (conn != null)
                        try {
                            conn.close();
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                }
            }
        }
    }
    
    
    
    package cn.itcast.jdbc;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.Reader;
    import java.io.Writer;
    import java.sql.Clob;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    /**
     * 
     * 2008-12-6
     * 
     * @author <a href="mailto:liyongibm@gmail.com">liyong</a>
     * 
     */
    public class ClobTest {
    
        /**
         * @param args
         * @throws IOException
         * @throws SQLException
         */
        public static void main(String[] args) throws SQLException, IOException {
            // create();
            read();
        }
    
        static void read() throws SQLException, IOException {
            Connection conn = null;
            Statement st = null;
            ResultSet rs = null;
            try {
                // 2.建立连接
                conn = JdbcUtils.getConnection();
                // conn = JdbcUtilsSing.getInstance().getConnection();
                // 3.创建语句
                st = conn.createStatement();
    
                // 4.执行语句
                rs = st.executeQuery("select big_text  from clob_test");
    
                // 5.处理结果
                while (rs.next()) {
                    Clob clob = rs.getClob(1);
                    Reader reader = clob.getCharacterStream();
                    // reader = rs.getCharacterStream(1);
                    // String s = rs.getString(1);
    
                    File file = new File("JdbUtils_bak.java");
                    Writer writer = new BufferedWriter(new FileWriter(file));
                    char[] buff = new char[1024];
                    for (int i = 0; (i = reader.read(buff)) > 0;) {
                        writer.write(buff, 0, i);
                    }
                    writer.close();
                    reader.close();
                }
            } finally {
                JdbcUtils.free(rs, st, conn);
            }
        }
    
        static void create() throws SQLException, IOException {
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                // 2.建立连接
                conn = JdbcUtils.getConnection();
                // conn = JdbcUtilsSing.getInstance().getConnection();
                // 3.创建语句
                String sql = "insert into clob_test(big_text) values (?) ";
                ps = conn.prepareStatement(sql);
                File file = new File("src/cn/itcast/jdbc/JdbcUtils.java");
                Reader reader = new BufferedReader(new FileReader(file));
    
                ps.setCharacterStream(1, reader, (int) file.length());
                // ps.setString(1, x);
                // 4.执行语句
                int i = ps.executeUpdate();
    
                reader.close();
    
                System.out.println("i=" + i);
            } finally {
                JdbcUtils.free(rs, ps, conn);
            }
        }
    
    }
    package cn.itcast.jdbc;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    /**
     * 
     * 2008-12-6
     * 
     * @author <a href="mailto:liyongibm@gmail.com">liyong</a>
     * 
     */
    public class BlobTest {
    
        /**
         * @param args
         * @throws IOException
         * @throws SQLException
         */
        public static void main(String[] args) throws SQLException, IOException {
            // create();
            read();
        }
    
        static void read() throws SQLException, IOException {
            Connection conn = null;
            Statement st = null;
            ResultSet rs = null;
            try {
                // 2.建立连接
                conn = JdbcUtils.getConnection();
                // conn = JdbcUtilsSing.getInstance().getConnection();
                // 3.创建语句
                st = conn.createStatement();
    
                // 4.执行语句
                rs = st.executeQuery("select big_bit  from blob_test");
    
                // 5.处理结果
                while (rs.next()) {
                    // Blob blob = rs.getBlob(1);
                    // InputStream in = blob.getBinaryStream();
                    InputStream in = rs.getBinaryStream("big_bit");
    
                    File file = new File("IMG_0002_bak.jpg");
                    OutputStream out = new BufferedOutputStream(
                            new FileOutputStream(file));
                    byte[] buff = new byte[1024];
                    for (int i = 0; (i = in.read(buff)) > 0;) {
                        out.write(buff, 0, i);
                    }
                    out.close();
                    in.close();
                }
            } finally {
                JdbcUtils.free(rs, st, conn);
            }
        }
    
        static void create() throws SQLException, IOException {
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                // 2.建立连接
                conn = JdbcUtils.getConnection();
                // conn = JdbcUtilsSing.getInstance().getConnection();
                // 3.创建语句
                String sql = "insert into blob_test(big_bit) values (?) ";
                ps = conn.prepareStatement(sql);
                File file = new File("IMG_0002.jpg");
                InputStream in = new BufferedInputStream(new FileInputStream(file));
    
                ps.setBinaryStream(1, in, (int) file.length());
                // 4.执行语句
                int i = ps.executeUpdate();
    
                in.close();
    
                System.out.println("i=" + i);
            } finally {
                JdbcUtils.free(rs, ps, conn);
            }
        }
    }
  • 相关阅读:
    通过IDEA创建SpringMVC项目记录
    开发问题总结
    idea控制台乱码解决
    java获取文件是否文件夹
    oralce优化文章
    乱码踩坑记录
    oracle关于左连接失效的一些问题
    volatile关键字
    postman body formdata和xwwwformurlencoded区别
    [转][C#]ScottPlot
  • 原文地址:https://www.cnblogs.com/yasepix/p/6418275.html
Copyright © 2011-2022 走看看