首页 > 学院 > 开发设计 > 正文

jdbc往mysql读取大文本文件

2019-11-11 05:19:52
字体:
来源:转载
供稿:网友
package jdbc;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.Reader;import java.sql.Connection;import java.sql.PReparedStatement;import java.sql.ResultSet;import org.junit.Test;import utils.JdbcUtil;public class TestClob {	//读取本地文件写到数据库	@Test	public void add() {		Connection conn = null;		PreparedStatement st = null;		ResultSet rs = null;		try {			conn = JdbcUtil.getConnection();			String sql = "insert into testclob(content) values(?)";			st = conn.prepareStatement(sql);			String path = TestClob.class.getClassLoader().getResource("1.txt").getPath();			File file = new File(path);			st.setCharacterStream(1, new FileReader(file), file.length());			int num = st.executeUpdate();			if (num > 0) {				System.out.println("插入成功!!!");			}		} catch (Exception e) {			throw new RuntimeException(e);		} finally {			JdbcUtil.release(conn, st, rs);		}	}	//读取文件写到本地硬盘	@Test	public void read(){		Connection conn = null;		PreparedStatement st = null;		ResultSet rs = null;		try{			conn = JdbcUtil.getConnection();			String sql = "select content from testclob where id = 3";			st = conn.prepareStatement(sql);			rs = st.executeQuery();						if(rs.next()){								FileWriter out = new FileWriter("d://1.java");				Reader reader = rs.getCharacterStream("content");				char buffer[]= new char[1024];				int len = 0;				while((len=reader.read(buffer))>0){					out.write(buffer, 0, len);				}				out.close();				reader.close();			}					}catch(Exception e){			throw new RuntimeException(e);		}finally{			JdbcUtil.release(conn, st, rs);		}	}}
//工具类
package utils;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Properties;public class JdbcUtil {	private static String passWord;	private static String username;	private static String url;	static {		try {			InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("db.properties");			Properties pr = new Properties();			pr.load(in);			username=pr.getProperty("username");			url = pr.getProperty("url");			password = pr.getProperty("password");			String driver = pr.getProperty("driver");			Class.forName(driver);		} catch (Exception e) {			throw new RuntimeException(e);		}	}		public static Connection getConnection() throws SQLException {		return DriverManager.getConnection(url, username, password);	}	public static void release(Connection conn, PreparedStatement st, ResultSet rs) {		if(rs!=null){			try{				rs.close();			}catch (Exception e){				throw new RuntimeException(e);			}			rs = null;		}		if(st != null){			try{				st.close();			}catch (Exception e){				throw new RuntimeException(e);			}			st = null;		}		if(conn != null){			try{				conn.close();			}catch (Exception e){				throw new RuntimeException(e);			}			conn = null;		}	}}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表