JDBC保存和读取大文本数据类型
2017-01-28 11:01
471 查看
public class App_blob { // 全局参数 private Connection con; private Statement stmt; private PreparedStatement pstmt; private ResultSet rs; @Test // 1. 二进制数据类型 ( 写longblob) public void testSaveText() { String sql = "insert into test(img) values(?)"; try { // 连接 con = JdbcUtil.getConnection(); // pstmt 对象 pstmt = con.prepareStatement(sql); // 获取图片流 InputStream in = App_text.class.getResourceAsStream("7.jpg"); pstmt.setBinaryStream(1, in); // 执行保存图片 pstmt.execute(); // 关闭 in.close(); } catch (Exception e) { e.printStackTrace(); } finally { JdbcUtil.closeAll(con, pstmt, null); } } @Test // 2. 读取大文本数据类型 ( 读longblob) public void testGetAsText() { String sql = "select img from test where id=2;"; try { // 连接 con = JdbcUtil.getConnection(); // pstmt 对象 pstmt = con.prepareStatement(sql); // 读取 rs = pstmt.executeQuery(); if (rs.next()) { // 获取图片流 InputStream in = rs.getBinaryStream("img"); // 图片输出流 FileOutputStream out = new FileOutputStream(new File("c://1.jpg")); int len = -1; byte b[] = new byte[1024]; while ((len = in.read(b)) != -1) { out.write(b, 0, len); } // 关闭 out.close(); in.close(); } } catch (Exception e) { e.printStackTrace(); } finally { JdbcUtil.closeAll(con, pstmt, null); } } }
相关文章推荐
- flask成长记(二)增强版
- 洛谷 1164——小A点菜(动态规划的背包问题)
- UVa 1451 平均值
- windows下fc命令用法
- 初识Java虚拟机(11)内存模型
- JDBC转账,使用事务, 回滚到指定的代码段
- 跑马灯效果
- HDU2833-最短路+dp
- iOS UIGestureRecognizer (手势的基本知识介绍)
- xilinx-arm-linux交叉编译链 安装总结以及相关资源下载
- Visual Studio C++ Project 配置
- iOS CAAnimation之CATransition(自定义转场动画)
- 保存员工同时保存关联的部门
- iOS —> UIScrollVeiw
- 设计模式-单例模式
- iOS Quartz 2D绘图知识详解
- 【c++】类和对象
- cake
- POJ1269 Intersecting Lines[线段相交 交点]
- Leetcode 50. Pow(x, n)