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; } }}
新闻热点
疑难解答