- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA 应用开发详解 第17章:Java数据库编程 —— 处理大对象数据(2) —— 处理BLOB数据 本章目标 掌握BLOB数据的读、写操作 可以使用Blob类方便的处理二进制数据 BLOB数据 BLOB的操作与CLOB是很相似的,只是BLOB专门用于存放二进制数据,如图片、电影等,下面就通过BLOB进行图片的保存与读取。在MySQL中使用LONGBLOB声明,最高可以保存4G大小的内容。例如,有如下的数据库创建脚本: 将图片写入到数据表之中 读取内容,并将图片信息保存 Blob类 与大文本操作类似,在JDBC中也提供了专门的Blob类型,用于表示二进制数据。 使用Blob读取内容 下一章内容 E-MAIL:mldnqa@163.com ? MLDN 软件教学研发部 MLDN 软件教学研发部 DROP TABLE userblob ; CREATE TABLE userblob ( id INT AUTO_INCREMENT PRIMARY KEY , name VARCHAR(30) NOT NULL , photo LONGBLOB ) ; public static void main(String[] args) throws Exception { ... String name = 李兴华; // 姓名 ... // 实例化PreparedStatement // 声明一个File对象,用于找到要操作的大文本文件 File f = new File(d: + File.separator + mldn.gif); InputStream input = null ; // 通过输入流读取内容 input = new FileInputStream(f) ; // 通过输入流读取文件 pstmt.setString(1, name) ; // 设置第一个“?”的内容 pstmt.setBinaryStream (2, input, (int)f.length()) ; // 设置输入流 pstmt.executeUpdate() ; // 执行数据库更新操作 pstmt.close() ; // 操作关闭 conn.close() ; // 数据库关闭 } public static void main(String[] args) throws Exception { int id = 1 ; // id String sql = SELECT name,photo FROM userblob WHERE id=? ; ... pstmt.setInt(1, id) ; // 设置查询的id rs = pstmt.executeQuery() ; // 查询 if(rs.next()){ // 判断是否有内容 String name = rs.getString(1) ; // 取出name列的内容 System.out.println(姓名: + name); InputStream input = rs.getBinaryStream (2) ;// 接收全部的大文本数据 FileOutputStream out = null ; out = new FileOutputStream(new File(d: + File.separator + loadmldn.gif)); int temp = 0 ; while((temp=input.read())!=-1){ // 边读编写 out.write(temp) ; } input.close() ; out.close() ; } ... } 取出数据的长度 普通 long length() throws SQLException 3 以字节数组的形式返回Blob数据的内容 普通 byte[] getBytes(long pos,int length) throws SQLException 2 取得Blob的输入流 普通 InputStream getBinaryStream() throws SQLException 1 描述 类型 方法 No public static void main(String[] args) throws Exception { ... if(rs.next()){ // 判断是否有内容 String name = rs.getStri
您可能关注的文档
- 《Authorware多媒体制作》模拟测试题二.doc
- 《Authorware多媒体制作》模拟测试题二答案.doc
- 《Authorware多媒体制作》模拟测试题一.doc
- 《Authorware多媒体制作》模拟测试题一答案.doc
- 《C1语言Windows程序设计》第1章 C1 概述.ppt
- 《C2语言Windows程序设计》第2章 NET简介.ppt
- 《C3语言Windows程序设计》第3章 C3编程基础.ppt
- 《C4语言Windows程序设计》第4章 面向对象程序设计.ppt
- 《C5语言Windows程序设计》第5章 Windows窗体与控件程序设计.ppt
- 《EDA技术与Verilog HDL》清华第2版-第2章 Verilog程序结构与数据类型.pdf
- 《Java开发实战经典》教师讲解031711 JDBC 2.0操作.ppt
- 《Java开发实战经典》教师讲解031710 CallableStatement接口.ppt
- 《Java开发实战经典》教师讲解031712 事务处理.ppt
- 《Java开发实战经典》教师讲解031713 使用元数据分析数据库.ppt
- 《Java开发实战经典》教师讲解031714 使用JDBC连接Oracle.ppt
- 《Java开发实战经典》教师讲解031801 AWT、Swing简介.ppt
- 《Java开发实战经典》教师讲解031803 标签组件:JLabel.ppt
- 《Java开发实战经典》教师讲解031802 基本容器:JFrame.ppt
- 《Java开发实战经典》教师讲解031804 按钮组件:JButton.ppt
- 《Java开发实战经典》教师讲解031805 布局管理器.ppt
文档评论(0)