- 浏览: 1715024 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (288)
- java (59)
- javaweb (15)
- eclipse (16)
- uml (1)
- java ee (7)
- windows (5)
- html (4)
- 数据结构和算法 (6)
- oracle (84)
- struts (3)
- ajax (3)
- hibernate (3)
- spring (12)
- ExtJS (14)
- 随笔 (2)
- JavaScript (9)
- PL SQL (12)
- tomcat (2)
- Plugins (5)
- office (2)
- webService (4)
- others (9)
- htc (1)
- 自定义标签的行为 (1)
- powerDesigner (3)
- webSphere (5)
- linux (6)
- dom4j (1)
- xml (5)
- json (2)
- bat (4)
- spring MVC (5)
- MySQL (12)
- junit (4)
- maven (10)
- jquery (1)
- mongoDB (16)
- git (0)
- mybatis (5)
- svn (3)
- activemq (3)
- quartz_job (1)
最新评论
-
白天看黑夜:
PDMReader实现pdm建模快速导出word,html文件 ...
利用powerDesigner逆向导出oracle表为PDM并把PDM转为CDM -
sanshao:
roompig 写道beancopier只实现了浅拷贝的功能, ...
使用Cglib的BeanCopier实现Bean的拷贝 -
贝塔ZQ:
Java实现导入导出excel文件,利用poi实现感觉代码比较 ...
利用java导入导出excel到oracle数据库 -
suxj16:
部署之后启动有问题org.springframework.be ...
spring mvc文件上传实现进度条(转) -
suxj16:
谢谢分享。部署之后启动有问题org.springframewo ...
spring mvc文件上传实现进度条(转)
文章出自:http://blog.csdn.net/shuinianshui/article/details/6223871
1:首先是创建表
package Excel; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class CreatTable { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Util util=new Util(); String sql1="drop table maexcel"; String sql2="create table maexcel(" + "filename varchar2(50),filesize number(20),filebody blob,primary key(filename))"; try { Statement stat=util.conn.createStatement(); // stat.executeUpdate(sql1); System.out.println(sql2); stat.execute(sql1);System.out.println("删除成功"); stat.execute(sql2);System.out.println("创建成功"); util.conn.commit(); /* ResultSet rs=stat.executeQuery("select * from maexcel"); while(rs.next()){ System.out.println(rs.toString()); }*/ } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2:Excel插入数据库
package Excel; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.sql.Blob; import java.sql.PreparedStatement; import java.sql.ResultSet; import oracle.sql.BLOB; public class InsertExcel { public static void main(String[]args){ Util u=new Util(); byte[] data=null;//**将测试文件out.xls读入此字节数组 FileInputStream fis=null; FileOutputStream fos=null; OutputStream os=null; ResultSet rs=null;//**这里rs一定要用Oracle提供的 PreparedStatement ps=null;//**PreparedStatement用Oracle提供的 try{ File file=new File("D://out.xls"); fis=new FileInputStream(file); int flength=(int)file.length(); System.out.println("file length is:"+flength+"==========="); data=new byte[flength]; int itotal=0;int i=0; for(;itotal<flength;itotal++){ i=fis.read(data, itotal,flength-itotal); } fis.close(); System.out.println("read itotal :"+itotal+"==========="); String mysql="insert into maexcel(filename,filesize,filebody) values(?,?,EMPTY_BLOB())"; ps=u.conn.prepareStatement(mysql); ps.setString(1,"excel1"); ps.setInt(2, flength); ps.executeUpdate(); ps.clearParameters(); //插入其它数据后,定位BLOB字段=================== u.conn.setAutoCommit(false);// 如果不关闭会报-->"错误:读取违反顺序" mysql="select filebody from maexcel where filename=? for update"; ps=u.conn.prepareStatement(mysql); ps.setString(1, "excel1"); rs=ps.executeQuery(); if(rs.next()){ BLOB blob= (BLOB) rs.getBlob(1);//得到BLOB字段 os=blob.getBinaryOutputStream(); // data是传入的byte数组,定义:byte[] data os.write(data, 0, data.length); os.flush(); os.close(); u.conn.commit(); rs.close(); } System.out.println("insert into ok====================="); }catch(Exception e){ e.printStackTrace(); }finally{ try { fis.close(); fos.close(); rs.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
3:Excel从数据库下载并生成文件
package Excel; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; import java.sql.PreparedStatement; import java.sql.ResultSet; import oracle.sql.BLOB; public class DownExcel { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Util u=new Util(); byte[] data=null;//**将测试文件test.doc读入此字节数组 FileInputStream fis=null; FileOutputStream fos=null; OutputStream os=null; ResultSet rs=null;//**这里rs一定要用Oracle提供的 PreparedStatement ps=null;//**PreparedStatement用Oracle提供的 try{ String mysql="select filebody,filesize from maexcel where filename=?"; ps=u.conn.prepareStatement(mysql); ps.setString(1,"excel1"); rs=ps.executeQuery(); int flength=0; if(rs.next()){ BLOB blob=(BLOB) rs.getBlob(1); System.out.println("blob length is "+blob.getLength()); data=blob.getBytes(1,rs.getInt(2));//从BLOB取出字节流数据 flength=data.length; System.out.println("data length is "+flength); u.conn.commit(); } rs.close(); //将blob取出的数据写入文件 fos=new FileOutputStream(new File("D:/testout.xls")); fos.write(data, 0,data.length ); System.out.println("文件下载成功---------》》"); }catch(Exception e){ e.printStackTrace(); }finally{ try { fos.close(); rs.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
4:数据库连接
package Excel; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Util { static Connection conn=null; public Util() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn=DriverManager.getConnection("jdbc:oracle:thin:@192.168.90.204:1521:power","gdtmis","gdtmis"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /* public static void main (String[]args){ Util u=new Util(); if(u.conn!=null){ System.out.println("连接上了"); } }*/ }
el : 自已做练习的小例子
Connection conn = DBUtil.getConnection(); conn.setAutoCommit(false); Statement statement = conn.createStatement(); String s = " select t.ws_template_id,t.ws_template_name,t.src_template from WS_TEMPLATE t where t.ws_kind = '30' and t.ws_template_id != '529' " ; ResultSet resultSet = statement.executeQuery(s) ; byte[] data = null ; FileOutputStream fos = null ; int i=1; while(resultSet.next()){ //resultSet.next(); String wsid = resultSet.getString(1) ; System.out.println("wsid="+wsid) ; Blob blob = (Blob) resultSet.getBlob(3); data = blob.getBytes(1,99999999); String filename = "D:/xml/"+wsid+".xls" ; //System.out.println(filename); fos = new FileOutputStream(new File(filename)); fos.write(data, 0,data.length ); fos.flush(); fos.close(); System.out.println(i++); //System.out.println(data.length) ; } System.out.println("success") ;
发表评论
-
Java List 生成 树(增强版)
2017-03-20 18:29 4516Java List 生成 树:http://ysj51 ... -
在CentOS中安装与配置JDK8
2017-01-14 21:20 902环境准备 系统环境:centos6.5 安装方式:r ... -
Java List 生成 树(转)
2016-03-15 15:47 8685文章出自:http://www.cnblogs.com ... -
使用Cglib的BeanCopier实现Bean的拷贝
2015-12-01 16:49 28776选择Cglib的BeanCopier进行B ... -
解决Java计算浮点数精度问题(BigDecimal)
2015-11-09 17:52 3066工具类如下: package com.yusj.we ... -
JAVA根据IP地址获取详细的地域信息(转)
2015-07-16 14:45 25597文章出自:http://hejianke83.blog ... -
Java获取客户端的真实IP地址(转)
2015-07-15 16:10 3864文章出自:http://newleague.iteye ... -
XML 和 java对象相互转换(转)
2015-07-14 16:43 3958文章出自:http://hbiao68.iteye.c ... -
Java + MongoDB 实现 hello world 例子(译)
2015-04-22 12:18 3912原文出自:http://www.mkyong.com ... -
Java MongoDB 教程(译)
2015-03-16 15:25 1835原文出自:http://www.mkyong.com ... -
日期差的天时分秒表示SQL(转)
2015-01-09 14:47 2345文章出自:http://blog.csdn.net/ ... -
过滤有效查询条件的好方法
2014-11-13 17:25 1554在工作中经常遇到明细查询,前段有很多查询条件,但是不 ... -
解决servlet-api包冲突问题(maven)
2014-08-20 10:12 47045问题描述:本人的项目是用Maven管理,而且用到了s ... -
StringUtils中isEmpty 和isBlank的区别(转)
2014-05-27 16:17 11343文章出自:http://www.2cto.com/kf ... -
MySQL分组后排序的问题(转)
2014-05-21 11:31 1683文章出自:http://zhidao.baidu.co ... -
JDK动态代理实现原理(转)_AOP简介
2014-04-25 16:28 6344文章出自: http://rejoy.it ... -
在oracle的decode函数中实现like相同操作
2014-03-28 14:37 10809在oracle的decode函数中不能使用like操作 ... -
45个非常有用的Oracle查询语句分享
2014-03-17 13:41 925文章出自:http://tech.it168.com ... -
能使 Oracle 索引失效的七大限制条件
2014-03-17 13:11 6190文章出自:http://tech.it168.com/ ... -
oracle存储过程异常处理及时间戳变量类型
2014-03-15 18:02 3064下面通过一个简单 ...
相关推荐
java对oracle数据库中blob字段的处理
java中读取ORACLE中BLOB字段存储的图片
20180828开发,提供了三种通过JDBC实现图片存储到BLOB的方式: ...2、com.ub:实现简单的插入及读取操作,读取后的... 然后将Base64字符串传参到Controller后进行解码处理后再存储到BLOB字段。 依赖Jar包: ojdbc6.jar
Oracle blob字段上传下载 Oracle blob字段上传下载Oracle blob字段上传下载 Oracle blob字段上传下载
oracle中对blob字段的处理方法,包括增加,删除,修改,更新等操作。
java放blob到Oracle数据库 使用java把mp3等二进制文件放到Oracle数据库中
分享在JAVA中Blob转换成String实例
1.转换BLOB BLOB转为Byte字节流 BLOB转为Char字节流 BLOB转为二进制字符 BLOB转为十六进制字符 2.生成BLOB Byte字节流转为BLOB Char字节流转为BLOB 二进制字符转为BLOB 十六进制字符转为BLOB 3.二进制 8位...
从oracle中的BLOB类型字段中取出照片,转存到mysql数据库中。思路是现将oracle中的照片存储在本地文件夹,在将本地图片上传到mysql中。
只需要安装oracle client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及blob数据列名,就可以批量导出ORACLE数据库BLOB字段生成图片
oracle Blob转换Clob
C# oracle blob类型 读入与保存
本人开发的oracle数据库LongRaw字段转Blob字段工具,可以指定表名,字段名,条件,开发环境Win7,Oracle xe,VS2010;需要源码修改的发私信
oracle Blob Clob 大数处理 代码 文件上传 下载
在Oracle中存取BLOB对象实现文件的上传和下载.txt 在Oracle中存取BLOB对象实现文件的上传和下载.txt
oracle中的Blob和Clob区别,希望对大家学习有帮助呵
使用JAVA读取ORACLE_BLOB字段实现上传下载.doc
Oracle导出Clob,Blob等大字段工具,自己写的工具,方便大家下载使用
前端项目-javascript-canvas-to-blob,javascript canvas to blob是一个将画布元素转换为blob对象的函数。
经典的上载图片,存到BLOB对象里面,附带读取图片