JDBC 大数据的处理

来源:互联网 发布:每天工作安排软件 编辑:程序博客网 时间:2024/05/22 12:38

在src下新建一个txt文件,里面装入一些数据,当做大文本数据,

读取文本数据存入数据库:

@Test
 public void insert() throws SQLException, FileNotFoundException{
  Connection conn=null;
  PreparedStatement st=null;
  ResultSet rs=null;
  try {
   conn=JdbcUtils.getConnection();//从工具类获取链接
   String sql="insert into testclob values(?,?)";
   st=conn.prepareStatement(sql);//预编译sql
   st.setString(1,"1");
   
   File file=new File("src\\1.txt");
   //new 一个FileReader
   FileReader reader=new FileReader(file);
   //file.length()返回的是一个long型,需要强制类型转换
   st.setCharacterStream(2, reader,(int)file.length());
   int num=st.executeUpdate();
   if (num>0) {
    System.out.println("插入成功!!!");
   }
  }finally{
   JdbcUtils.release(conn, st, rs);
  }
 }

 

 大数据的读取:

 @Test
  public void select() throws SQLException, IOException{
   Connection conn=null;
   PreparedStatement st=null;
   ResultSet rs=null;
   try {
    conn=JdbcUtils.getConnection();
    String sql="select id,txt from testclob where id='1'";
    st=conn.prepareStatement(sql);
    rs=st.executeQuery();
    if (rs.next()) {
     Reader reader=rs.getCharacterStream("txt");//以流的形式返回
     FileWriter writer=new FileWriter("c:/1.txt");
     try {
      int len=0;
      char buffer[]=new char[1024];
      while((len=reader.read(buffer))>0){
       writer.write(buffer,0,len);
      }
     }finally {
      if (reader!=null) {
       reader.close();
      }
      if(writer!=null){
       writer.close();
      }
     }
    }
    
   }finally{
    JdbcUtils.release(conn, st, rs);
   }

 

原创粉丝点击