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);
            }
        }
    }
  • 相关阅读:
    UVa 1451 Average (斜率优化)
    POJ 1160 Post Office (四边形不等式优化DP)
    HDU 3507 Print Article (斜率DP)
    LightOJ 1427 Substring Frequency (II) (AC自动机)
    UVa 10245 The Closest Pair Problem (分治)
    POJ 1741 Tree (树分治)
    HDU 3487 Play with Chain (Splay)
    POJ 2828 Buy Tickets (线段树)
    HDU 3723 Delta Wave (高精度+calelan数)
    UVa 1625 Color Length (DP)
  • 原文地址:https://www.cnblogs.com/yasepix/p/6418275.html
Copyright © 2011-2022 走看看