`
王牌海盗
  • 浏览: 237252 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA操作Oracle blob类型

阅读更多
java 代码
  1. package test;   
  2.   
  3. import java.io.BufferedInputStream;   
  4. import java.io.FileInputStream;   
  5. import java.io.PrintStream;   
  6. import java.sql.Connection;   
  7. import java.sql.DriverManager;   
  8. import java.sql.ResultSet;   
  9. import java.sql.SQLException;   
  10. import java.sql.Statement;   
  11.   
  12. public class Test {   
  13.     private Connection conn;   
  14.   
  15.     /**  
  16.      * 得到一个数据库的连接  
  17.      *   
  18.      * @return 返加Connection对象  
  19.      */  
  20.     public Connection getConnection() {   
  21.         try {   
  22.             Class.forName("oracle.jdbc.driver.OracleDriver");   
  23.             conn = DriverManager.getConnection(   
  24.                     "jdbc:oracle:thin:@localhost:1521:lyx""scott""tiger");   
  25.         } catch (ClassNotFoundException e) {   
  26.             // TODO Auto-generated catch block   
  27.             e.printStackTrace();   
  28.         } catch (SQLException e) {   
  29.             // TODO Auto-generated catch block   
  30.             e.printStackTrace();   
  31.         }   
  32.         return conn;   
  33.     }   
  34.   
  35.     /**  
  36.      * 向表中插入图片  
  37.      *   
  38.      * @param path图片所在的路径  
  39.      * @return 整形 判断成功或失败  
  40.      */  
  41.     public int insertImage(String path) throws Exception {   
  42.         int i = 0;   
  43.         Statement st = null;   
  44.         ResultSet rs = null;   
  45.         conn=this.getConnection();   
  46.            
  47.         conn.setAutoCommit(false);//设置数据库为不自动提交,必须的一步   
  48.         st = conn.createStatement();   
  49.         //先插入一个空对象,这里我调用了Empty_BLOB()函数   
  50.         i = st.executeUpdate("insert into image (id,image) values (seq1.nextval,Empty_BLOB())");   
  51.         //以行的方式锁定   
  52.         rs = st.executeQuery("select image from image where id=(select max(id) from image) for update");   
  53.         if (rs.next()) {   
  54.             //得到流   
  55.             oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(1);   
  56.             //从得到的低级流构造一个高级流   
  57.             PrintStream ps = new PrintStream(blob.getBinaryOutputStream());   
  58.             BufferedInputStream bis = new BufferedInputStream(   
  59.                     new FileInputStream(path));   
  60.             byte[] buff = new byte[1024];   
  61.             int n = 0;   
  62.             //从输入到输出   
  63.             while ((n = bis.read(buff)) != -1) {   
  64.                 ps.write(buff, 0, n);   
  65.   
  66.             }   
  67.             //清空流的缓存   
  68.             ps.flush();   
  69.             //关闭流,注意一定要关   
  70.             ps.close();   
  71.             bis.close();   
  72.         }   
  73.         rs.close();   
  74.         st.close();   
  75.         conn.close();   
  76.         return i;   
  77.     }   
  78.   
  79.     public static void main(String[] args) throws Exception {   
  80.         Test test=new Test();   
  81.         test.insertImage("e:\\3.jpg");   
  82.         System.out.println("OK");   
  83.   
  84.   
  85.     }   
  86.   
  87. }   
分享到:
评论
1 楼 smithsun 2009-01-09  
不错,很简洁。但愿大家都写这种文章,没有一个字的废话。

相关推荐

    java操作oracle blob类型(中)

    视频第六部分共七部分 下载全才可以解压 博文链接:https://dlivan.iteye.com/blog/116258

    java操作oracle blob类型(下)

    视频第七部共七部 下载全才可以解压 博文链接:https://dlivan.iteye.com/blog/116262

    java操作oracle blob类型(上)

    视频第三部分共七部分 下载全才可以解压 博文链接:https://dlivan.iteye.com/blog/116256

    新建文本文档.txt

    新建文本文档

    开源Git gui工具Fork

    开源Git gui工具Fork,CSDN能找到教程,但是资料不多,推荐用Tortoise

    yolov5在华为昇腾atlas上加速推理

    该资源为yolov5在华为昇腾atlas上使用Ascend310芯片加速推理,属于c++后端开发,适合C++开发者在华为昇腾盒子上移植深度学习算法的博主们。 资源是demo形式,包含完整的一套代码,还有转好的离线模型文件和跑出的测试结果图片。

    C++ 实现贪吃蛇小游戏

    C++贪吃蛇小游戏简介 内容概要 C++贪吃蛇小游戏是一款经典的2D游戏,它利用C++编程语言结合基本的图形库(如NCurses库或SDL库)实现。游戏的核心玩法包括控制贪吃蛇在封闭的场地内移动,通过吃掉随机出现的食物来增长身体长度,同时避免碰到场地边界或自己的身体,否则游戏结束。游戏界面简洁直观,通过键盘控制贪吃蛇的方向,提供流畅的游戏体验。 适用人群 C++贪吃蛇小游戏适用于广泛的人群,特别是: C++编程学习者:对于正在学习C++编程的学生或爱好者,这款小游戏是一个很好的实践项目。通过实现游戏,可以加深对C++语法、数据结构、面向对象编程等知识点的理解和应用。 使用场景及目标 C++贪吃蛇小游戏可以在以下场景中使用,并达到以下目标: 编程教学实践:在编程教学课堂上,教师可以使用该游戏作为案例,引导学生完成项目的开发。通过实践,学生可以更好地掌握C++编程技能,并将理论知识应用于实际项目中。 个人项目实践:对于个人学习者,实现贪吃蛇小游戏可以作为自我挑战和实践的机会。通过独立完成项目,可以提升自己的编程能力和解决问题的能力。

    ec616DataSheet

    移芯NBIOT 芯片,NB芯片,水表电表芯片,烟感 地磁芯片 超弱信号环境业务能力。

    预测结果.xlsx

    预测结果

    简易java订销管理系统-javainfo

    简易java订销管理系统_javainfo,包含全量功能源码,及相关文档说明,供大家学习使用!!!

    Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar

    Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar

    附件1预测.xlsx

    附件1预测

    基于java的习题检索系统源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar

    Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar

    测试手柄以及其他外设在安卓模拟器或者安卓手机上的操作按键以及使用的摇杆向量

    测试手柄以及其他外设在安卓模拟器或者安卓手机上的操作按键以及使用的摇杆向量,通过按键以及摇杆来识别手柄或者其他外设的操作按键以及摇杆等。

    第一篇20240528_00.png

    第一篇20240528_00.png

    基于Java的实用的音乐软件微信小程序的设计与开发源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    使用SAHI模块完成超分辨率以及小目标检测是应用示例python源码+项目说明

    使用SAHI模块完成超分辨率以及小目标检测是应用示例python源码+项目说明个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 使用SAHI模块完成超分辨率以及小目标检测是应用示例python源码+项目说明个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。使用SAHI模块完成超分辨率以及小目标检测是应用

    第二次操作系统作业等9个文件.zip

    第二次操作系统作业等9个文件.zip

Global site tag (gtag.js) - Google Analytics