Java 对Oracle数据库中的 BLOB类型 插入图片
2019独角兽企业重金招聘Python工程师标准>>>
package test;import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.PrintStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class Test {private Connection conn;/*** 得到一个数据库的连接* * @return 返加Connection对象*/public Connection getConnection() {try {Class.forName("oracle.jdbc.driver.OracleDriver");conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:lyx", "scott", "tiger");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}/*** 向表中插入图片* * @param path图片所在的路径* @return 整形 判断成功或失败*/public int insertImage(String path) throws Exception {int i = 0;Statement st = null;ResultSet rs = null;conn=this.getConnection();conn.setAutoCommit(false);//设置数据库为不自动提交,必须的一步st = conn.createStatement();//先插入一个空对象,这里我调用了Empty_BLOB()函数i = st.executeUpdate("insert into image (id,image) values (seq1.nextval,Empty_BLOB())");//以行的方式锁定rs = st.executeQuery("select image from image where id=(select max(id) from image) for update");if (rs.next()) {//得到流oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(1);//从得到的低级流构造一个高级流PrintStream ps = new PrintStream(blob.getBinaryOutputStream());BufferedInputStream bis = new BufferedInputStream(new FileInputStream(path));byte[] buff = new byte[1024];int n = 0;//从输入到输出while ((n = bis.read(buff)) != -1) {ps.write(buff, 0, n);}//清空流的缓存ps.flush();//关闭流,注意一定要关ps.close();bis.close();}rs.close();st.close();conn.close();return i;}public static void main(String[] args) throws Exception {Test test=new Test();test.insertImage("e:\\3.jpg");System.out.println("OK");}}
转载于:https://my.oschina.net/u/2299924/blog/2250533
Java 对Oracle数据库中的 BLOB类型 插入图片相关推荐
- oracle blob update,Oracle数据库中对BLOB数据的操作问题
[TechTarget中国原创]问:请问在Oracle数据库中,如何插入并检索二进制大对象数据(BLOB)? 答:我建议在处理大对象数据之前,先阅读一下"Oracle应用开发者指南" ...
- java向Oracle数据库中插入blob字段数据
java不能直接想插入其他普通类型数据一样插入blob字段数据,因为blob相当于一个大文件块,里面有游标,需要初始化blob游标才能插入数据.所以我们要先插入一个空的blob数据,以初始化游标,然后 ...
- oracle blob字段索引,在oracle 数据库中使用 Blob 字段存储 一张图片并读取
1. 进行数据库的设置 create table image_lob(t_id varchar2(5) not null,t_image blob not null); create or repl ...
- 用python读取pg数据库中的blob类型图片数据,转换存成jpg格式存到本地文件夹
先啰嗦一下,热热身 在工作中,我们常见到数据库中的数据类型主要为char,varchar,text等,但是有时我们也会用blob格式来存储语音文件或者图像文件,在网上找了很多,都没找到合适的办法,只好 ...
- oracle将字符串转化为blob,oracle String类型转换成blob类型插入
CERT_1以前是varchar(3000),现在的类型是blob类型,做数据库迁移时,使用导入工具不能直接导入,所以使用SQL,下面是SQL declare directions BLOB ...
- Java 读取Oracle数据库中的Date日期型怎么去掉秒后面的0
Oracle数据去0 分享方法 :为什么多了一个0,数据库里面的数据是没有0的,取出来的时候多了一个0,这是Oracle数据搞的鬼,解决代码如下 可参考 [java] view plaincop ...
- oracle数据库中对varchar类型求max的解决方法
http://kidiaoer.iteye.com/blog/1064902 在oracle中,如果对varchar类型求max会发现9比10大,这是因为数据类型的原因,我们需要将varchar转换成 ...
- oracle+资料类型不一致吗,oracle数据库中,字段类型不一致,导致查询慢
最近一个WEBSERVICE突然变慢了,后查询发现,后台查询也非常慢(记录条数800多万),索引也有,如下语句 SELECT P.ID,P.RECORD_ID,P.KEY_NAME,P.KEY_CON ...
- oracle怎么截取long类型,Oracle 数据库中 Long 类型字段的读取
最近在一个项目中遇到了需要读取 Oracle 数据库中的 Long 类型的字段的问题,折腾了好久,最后找到了其中的一个解决办法,决定记下了做个明灯吧! 在用 Mybatis 将该字段的数据映射到 St ...
最新文章
- 机器学习101:我们天天都在说的机器学习,究竟该怎么入门?
- Linux下安装配置virtualenv与virtualenvwrapper
- 摄像机丢失信号及偏色的检测思路
- 拖动无标题栏的窗体,需要处理的三个事件
- java关于泛型的实验代码_[ Java学习 ] 泛型类的应用实验
- 商品详情页html,天天生鲜商品详情页HTML+css
- [vue]vue路由篇vue-router
- python有什么用-python是什么意思?python有什么用?
- 修改html本地样式,html-如何通过Javascript更改CSS类样式?
- Widget实例可以添加多个并独立更新
- 手机微商城可以安装到虚拟服务器,安装使用:百家CMS微商城系统安装教程(图文说明)...
- RDD与DataFrame
- 筛选中很容易粘贴到被隐藏部分_excel复制粘贴:如何将数据粘贴到筛选区域中?...
- 内存颗粒位宽和容量_DDR4内存颗粒--美光篇
- 查询-SPJ练习3参考答案
- 微信小程序和uni-app面试高频知识点
- Python爬取豆瓣读书Top250(正则表达式)
- echarts折线图鼠标悬浮竖线_Echarts折线图问题,鼠标悬停的地方不能正确展示数据怎么回事呢?...
- LOJ 10155. 「一本通 5.2 例 3」数字转换
- CE_tutorial_game
热门文章
- centos8平台用NetworkManager/nmcli管理网络
- Prometheus 的云上 MySQL 监控实践
- 网络管理与维护作业12
- Jmeter工具使用-分布式架构和服务器性能监控解决方案
- 跨站点脚本编制-XSS 描述及解决方法
- class path resource [logback.xml] cannot be resolved to URL because it does not exist 问题解决
- IDEA设置生成带注释的getter和setter解决方案 (图文教程)
- Rails I18n验证弃用警告
- jQuery hasAttr检查元素是否有属性[重复]
- JavaScript截断/切片/修剪掉字符串中的最后一个字符