图片数据&大文本数据存储

图片数据的存储(数据库字段格式为blob)  

 

存数据  

Connection conn = JdbcUtils.getConnection();
//创建预处理对象
PreparedStatement pstmt = conn.prepareStatement("insert into t1 values(?,?)");
//指定问号的值
pstmt.setInt(1, 1);
File file = new File("src/2.gif");
InputStream in = new FileInputStream(file);
pstmt.setBinaryStream(2, in, file.length());
//执行SQL语句
pstmt.executeUpdate();

 

取数据  

Connection conn = JdbcUtils.getConnection();
//创建预处理对象
PreparedStatement pstmt = conn.prepareStatement("select * from t1");
//执行SQL语句
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
int id = rs.getInt("id");
InputStream in = rs.getBinaryStream("image");
//需要再建一个文件
File file = new File("src/3.gif");
OutputStream os = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int b = 0;
while((b=in.read(buffer)) != -1){
os.write(buffer,0,b);
}

 

大文本数据的存储(数据库字段格式为text)    

 

存数据  

Connection conn = JdbcUtils.getConnection();
//创建预处理对象
PreparedStatement pstmt = conn.prepareStatement("insert into t2 values(?,?)");
//指定问号的值
pstmt.setInt(1, 1);
File file = new File("src/a.txt");
FileReader fileReader = new FileReader(file);
pstmt.setCharacterStream(2, fileReader,file.length());
//执行SQL语句
pstmt.executeUpdate();

 

取数据   

Connection conn = JdbcUtils.getConnection();
//创建预处理对象
PreparedStatement pstmt = conn.prepareStatement("select * from t2");
//执行SQL语句
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
int id = rs.getInt("id");
Reader reader = rs.getCharacterStream("txt");
//需要再建一个文件
File file = new File("src/b.txt");
BufferedReader br = new BufferedReader(reader);
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
String s = "";
while((s = br.readLine()) != null){
bw.write(s);
bw.write("\r\n");
}
br.close();
bw.close();
}

 

本文出自 “曾颐楠的播客” 博客,请务必保留此出处http://zengyinan.blog.51cto.com/9524976/1721403

 

转载于:https://www.cnblogs.com/zengyinanos/p/5042766.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值