jdbc操作二进制文件

public class TestBlob {
	//存储二进制
	@Test
	public void cunchu()throws Exception{
		//获取连接对象
		Connection conn = JdbcUtils2.getConn();
		//获取执行对象   alt+shift+L
		PreparedStatement pst = conn.prepareStatement("insert into tb1(image) values (?)");
		//设置参数
		FileInputStream in = new FileInputStream("C:\\Users\\sunqingchen\\Desktop\\新建文件夹\\b.jpg");
		pst.setBlob(1, in);
		//执行更新
		int count = pst.executeUpdate();
		System.out.println(count+"--->行受影响");
		//关流
		JdbcUtils2.close(null, pst, conn);
	}
	
	//读取二进制
	@Test
	public void duqu()throws Exception{
		//获取连接对象
		Connection conn = JdbcUtils2.getConn();
		//获取执行对象   alt+shift+L
		PreparedStatement pst = conn.prepareStatement("select image from tb1 where book is null");
		//执行更新
		ResultSet rs = pst.executeQuery();
		
		rs.next();
		
		Blob blob = rs.getBlob(1);
		InputStream bs = blob.getBinaryStream();
		
		//写到某个文件中即可
		FileOutputStream fos = new FileOutputStream("C:\\Users\\sunqingchen\\Desktop\\新建文件夹\\c.jpg");
		int n = -1;
		while((n = bs.read()) != -1) {
			//调用输出流写出去
			fos.write(n);
		}
		
		//关流
		fos.flush();
		fos.close();
		bs.close();
		
		JdbcUtils2.close(null, pst, conn);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值