1. 程式人生 > >java向mysql讀寫clob

java向mysql讀寫clob

package com.xiyou;


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.net.URL;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;


import com.xiyou.util.JdbcUtil;


//大文字資料的存取
/*
 * create database day13;
 * user day13;
 * create table clobtest(
 * id int primary key auto_increment,
 * content MEDIUMTEXT
 * );
 */
public class ClobDemo {


public static void main(String[] args) {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
String sql="select content from clobtest where id=?";
stmt=conn.prepareStatement(sql);
stmt.setInt(1,2);
rs=stmt.executeQuery();
if(rs.next()){
Clob tex=rs.getClob("content");
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("D:/man.txt")),"UTF-8"));
Reader reader=tex.getCharacterStream();
char[]aa=new char[1024];
int len=-1;
while((len=reader.read(aa))!=-1){
bw.write(aa, 0, len);

reader.close();
bw.close();


}
}catch(Exception e){
e.printStackTrace();
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}


private static void saveClob() {
//向資料庫中插入大文字資料
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
String sql = "insert into clobtest(content) values(?)";
stmt = conn.prepareStatement(sql);
URL url = ClobDemo.class.getClassLoader().getResource("man.txt");
String filePath = url.getPath();
File file = new File(filePath);
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));
stmt.setCharacterStream(1, br,(int)file.length());
int num = stmt.executeUpdate();
if(num>0)
System.out.println("新增成功");
}catch(Exception e){
e.printStackTrace();
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}


}