Mysql使用text添加大文本

package Io流;

import Utils.JdbcUtils;
import org.junit.Test;

import java.io.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 数据库存储大文本文件
 * text
 */
public class Demo08 {
    @Test
    public void test(){
        String sql = null;
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        int updateRow = 0;
        FileReader reader = null;
        try {
            sql = "insert into data_text values (?,?,?)";
            con = JdbcUtils.getCon();
            ps = con.prepareStatement(sql);
            ps.setInt(1,1);
            ps.setString(2,"tom");
            File file = new File("d:\\11.txt");
            reader = new FileReader(file);
            ps.setCharacterStream(3,reader,file.length());
            updateRow = ps.executeUpdate();
            if (updateRow > 0){
                System.out.println("success");
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            JdbcUtils.close(con,ps,rs);
        }
    }
    @Test
    public void test1(){
        String sql = null;
        Connection con = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        int updateRow = 0;
        FileWriter fw = null;
        int len = 0;

        try {
            sql = "select * from data_text where id=?";
            con = JdbcUtils.getCon();
            ps = con.prepareStatement(sql);
            ps.setInt(1,1);
            rs = ps.executeQuery();
            if (rs.next()){
                Reader reader = rs.getCharacterStream("nover");
                fw = new FileWriter("resoures\\小说.txt");
                char[] chars = new char[1024];
                while ((len = reader.read(chars))!= -1){
                    fw.write(chars,0,len);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                fw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            JdbcUtils.close(con,ps,rs);
        }
    }
}
posted @ 2021-01-24 21:23  dgxacc  阅读(562)  评论(0)    收藏  举报