CLOB:大文本,比较长的文本
BLOB:二进制文本,一般存储图片,视频,音乐等
大文本本质就是字符串类型,和其他类型一样存,就是在数据库的表中的数据类型,MySql的话,用longText类型
二进制文件用longblob类型,
在实体中定义为byte[] 类型。
在插入到对象时,先把所存的文件用InputStrem转换成输入流:
byte[] pic=null;
try {
InputStream inputStrem = new FileInputStream(new File("C:/upload/pic01.jpg"));
pic = new byte[inputStrem.available()];
inputStrem.read(pic);
inputStrem.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
longText.setPic(pic);
再把输入流的数据读到byte数组中,注意用完输入流,要关闭。
@Test
public void longTest2() throws IOException {
LongText longText = longMapper.getText(1);
byte[] pic = longText.getPic();
//放到本地
OutputStream outputStrem = new FileOutputStream(new File("c:/upload/pic02.jpg"));
outputStrem.write(pic);
outputStrem.close();
}
获得到的byte[] 通过输出流放到本地下。