![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
package Search.Clob_Blob;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import java.io.BufferedReader;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import java.io.File;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import java.io.FileOutputStream;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import java.io.IOException;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import java.io.InputStream;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import java.io.Reader;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import java.sql.Blob;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import java.sql.Clob;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import java.sql.SQLException;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import org.hibernate.Session;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import org.hibernate.SessionFactory;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import org.hibernate.Transaction;
![](http://www.softfz.com/uploads/allimg/111219/1150243156-0.gif)
import org.hibernate.cfg.Configuration;
![](http://www.softfz.com/uploads/allimg/111219/1150241593-37.gif)
public class TestRead ...{
![](http://www.softfz.com/uploads/allimg/111219/1150243B2-43.gif)
public static void main(String[] args) ...{
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
String filePath=System.getProperty("user.dir")+File.separator+"src/Search/Clob_Blob"+File.separator+"hibernate.cfg.xml";
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
File file=new File(filePath);
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
SessionFactory sessionFactory=new Configuration().configure(file).buildSessionFactory();
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
Session session=sessionFactory.openSession();
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
Transaction tx=session.beginTransaction();
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
//读取clob和blob
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
String imgPath=System.getProperty("user.dir")+File.separator+"src/Search/Clob_Blob"+File.separator+"sampleread.jpg";
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
TestCB testcb=(TestCB)session.get(TestCB.class, "1");
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
Blob photo=testcb.getPhoto();
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
Clob description=testcb.getDescription();
![](http://www.softfz.com/uploads/allimg/111219/1150243B2-43.gif)
try ...{
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
StringBuffer buffer=new StringBuffer();
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
Reader reader=(Reader)description.getCharacterStream();
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
BufferedReader breader=new BufferedReader(reader);
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
char[] b = new char[60000];//每次获取60K
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
//将Clob解析成String
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
int i = 0;
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
while((i = breader.read(b)) != -1)
![](http://www.softfz.com/uploads/allimg/111219/1150243B2-43.gif)
...{
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
buffer.append(b,0,i);
![](http://www.softfz.com/uploads/allimg/111219/115024A64-46.gif)
}
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
System.out.println(buffer.toString());
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
//将Blob还原成文件
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
FileOutputStream fos=new FileOutputStream(imgPath);
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
InputStream fis1=(InputStream)photo.getBinaryStream();
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
byte[] b1 = new byte[60];//每次获取60K
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
int i1 = 0;
![](http://www.softfz.com/uploads/allimg/111219/1150243B2-43.gif)
while((i1=fis1.read(b1))!=-1)...{
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
fos.write(b1);
![](http://www.softfz.com/uploads/allimg/111219/115024A64-46.gif)
}
![](http://www.softfz.com/uploads/allimg/111219/1150243B2-43.gif)
} catch (SQLException e) ...{
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
e.printStackTrace();
![](http://www.softfz.com/uploads/allimg/111219/1150243B2-43.gif)
} catch (IOException e) ...{
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
e.printStackTrace();
![](http://www.softfz.com/uploads/allimg/111219/115024A64-46.gif)
}
![](http://www.softfz.com/uploads/allimg/111219/1150241450-39.gif)
tx.commit();
![](http://www.softfz.com/uploads/allimg/111219/115024A64-46.gif)
}
![](http://www.softfz.com/uploads/allimg/111219/1150245309-77.gif)
}