实体类和mybatis配置
// 图片实体类
public class Pic{
private String pic;
public String getPic(){
return pic;
}
public void setPic(String pic){
this.pic = pic == null ? null : pic.trim();
}
}
// mybatis Mapper
public interface PicMapper{
int insert(Pic pic);
List<Pic> selectAll();
}
//xml配置文件略过
在oracle插入CLOB格式图片
首先获取到图片,方式有很多,这只取了一种:
FileInputStream fis = new FileInputStream("D:/321.bmp");
int av = fis.available();
byte[] buff = new byte(av);
// 图片流读取到字节数组
fis.read(buff);
fis.close();
// 进行base64编码
Encoder encoder = Base64.getEncoder();
String pic = encoder.encodeToString(buff);
//插入到数据库
Pic myPic = new Pic();
mypic.setPic(pic);
// 实例自动注入
picMapper.insert(mypic);
获取CLOB格式图片
List<Pic> list = picMapper.selectAll();
for(Pic pic : list){
// base64解码
Decoder decoder = Base64.getDecoder();
byte[] bytes = decoder.decode(pic.getPic());
String returnStr = new String(bytes);
}