JAVA---BLOB数据的插入与查询
2022/4/20 1:14:36
本文主要是介绍JAVA---BLOB数据的插入与查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package java5.blob; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Blob; import java.sql.Connection; import java.sql.Date; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import org.junit.Test; import java3.bean.Customer; import java3.util.JDBCUtils; /* * 使用preparedStatement操作Blob类型的数据 */ public class BlobTest { //向数据表customers中插入Blob类型的字段 @Test public void testInsert() throws Exception{ Connection conn = JDBCUtils.getConnedtion(); String sql="insert into customers(name,email,birth,photo)values(?,?,?,?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setObject(1, "lion"); ps.setObject(2, "1123123@163.com"); ps.setObject(3, "1111-2-3"); FileInputStream is = new FileInputStream(new File("2.png")); ps.setBlob(4, is); ps.execute(); JDBCUtils.closeResource(conn, ps); } //查询数据表customers中Blob类型的字段 @Test public void testQuery() { InputStream is=null; FileOutputStream fos=null; Connection conn =null; PreparedStatement ps=null; ResultSet rs =null; try { conn = JDBCUtils.getConnedtion(); String sql="select id,name,email,birth,photo from customers where id=?"; ps = conn.prepareStatement(sql); ps.setObject(1, 21); rs = ps.executeQuery(); if(rs.next()){ int id=rs.getInt("id"); String name = rs.getString("name"); String email = rs.getString("email"); Date birth = rs.getDate("birth"); Customer customer = new Customer(id, name, email, birth); System.out.println(customer); //将blob类型的字段下载下来,以文件的方式保存在本地 Blob photo = rs.getBlob("photo"); is = photo.getBinaryStream(); fos = new FileOutputStream("3.png"); byte[] buffer=new byte[1024]; int len; while((len=is.read(buffer))!=-1){ fos.write(buffer, 0, len); } } } catch (Exception e) { e.printStackTrace(); } finally{ if(is!=null){ try { is.close(); } catch (IOException e) { e.printStackTrace(); } } if(fos!=null){ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } JDBCUtils.closeResource(conn, ps, rs); } } }
这篇关于JAVA---BLOB数据的插入与查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?