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);
            }
        }
    }
  • 相关阅读:
    36.百马百担问题。有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大中小马多少匹,共有多少组解?
    35.鸡兔同笼问题:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
    34.设s=1+1/2+1/3+…+1/n,求与8最接近的s的值及与之对应的n值
    33.求1*2+2*3+3*4+……前n项的和
    32.求1+(1+2)+(1+2+3)+(1+2+3+4)+……的前n项的和
    31.假定2007年的一月一日是星期一,输入一个时间(包含年、月、日),求出它是星期几。
    vue-cli3 一直运行 /sockjs-node/info?t= 解决方案
    python pdf转word
    window django-https 证书
    Docker技术应用场景(转载)
  • 原文地址:https://www.cnblogs.com/yasepix/p/6418275.html
Copyright © 2011-2022 走看看