- 浏览: 1728923 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (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 4560Java List 生成 树:http://ysj51 ... -
在CentOS中安装与配置JDK8
2017-01-14 21:20 941环境准备 系统环境:centos6.5 安装方式:r ... -
Java List 生成 树(转)
2016-03-15 15:47 8737文章出自:http://www.cnblogs.com ... -
使用Cglib的BeanCopier实现Bean的拷贝
2015-12-01 16:49 28909选择Cglib的BeanCopier进行B ... -
解决Java计算浮点数精度问题(BigDecimal)
2015-11-09 17:52 3104工具类如下: package com.yusj.we ... -
JAVA根据IP地址获取详细的地域信息(转)
2015-07-16 14:45 25665文章出自:http://hejianke83.blog ... -
Java获取客户端的真实IP地址(转)
2015-07-15 16:10 3901文章出自:http://newleague.iteye ... -
XML 和 java对象相互转换(转)
2015-07-14 16:43 4010文章出自:http://hbiao68.iteye.c ... -
Java + MongoDB 实现 hello world 例子(译)
2015-04-22 12:18 3958原文出自:http://www.mkyong.com ... -
Java MongoDB 教程(译)
2015-03-16 15:25 1894原文出自:http://www.mkyong.com ... -
日期差的天时分秒表示SQL(转)
2015-01-09 14:47 2419文章出自:http://blog.csdn.net/ ... -
过滤有效查询条件的好方法
2014-11-13 17:25 1591在工作中经常遇到明细查询,前段有很多查询条件,但是不 ... -
解决servlet-api包冲突问题(maven)
2014-08-20 10:12 47113问题描述:本人的项目是用Maven管理,而且用到了s ... -
StringUtils中isEmpty 和isBlank的区别(转)
2014-05-27 16:17 11376文章出自:http://www.2cto.com/kf ... -
MySQL分组后排序的问题(转)
2014-05-21 11:31 1718文章出自:http://zhidao.baidu.co ... -
JDK动态代理实现原理(转)_AOP简介
2014-04-25 16:28 6390文章出自: http://rejoy.it ... -
在oracle的decode函数中实现like相同操作
2014-03-28 14:37 10897在oracle的decode函数中不能使用like操作 ... -
45个非常有用的Oracle查询语句分享
2014-03-17 13:41 961文章出自:http://tech.it168.com ... -
能使 Oracle 索引失效的七大限制条件
2014-03-17 13:11 6219文章出自:http://tech.it168.com/ ... -
oracle存储过程异常处理及时间戳变量类型
2014-03-15 18:02 3110下面通过一个简单 ...
相关推荐
指定文件夹下的所有文件上传至oracle的blob字段,java实现
有时,我们需要将Oracle数据库中的数据导出到Excel文件,以便进行进一步的处理或分析。本文将详细介绍如何利用Java编程语言,结合JXL库来实现这一过程,特别是处理BLOB类型的文件。 首先,理解BLOB类型。BLOB...
"Oracle导入导出图片及Excel"这个主题涉及到如何在Oracle环境中高效地处理非结构化的图片和Excel表格数据。由于没有提供源代码,我们将探讨一般性的方法和技术。 1. **Oracle BLOB类型**:Oracle数据库使用BLOB...
1. 支持多种视图技术:Struts2可以处理多种视图技术,如JSP、Velocity或直接生成Excel等。 2. 灵活的数据传输:模型与视图之间的数据传输非常灵活,可以支持多种数据格式。 3. 分层的架构:将应用分层为表示层、业务...
7. **运行环境**:虽然未明确指出,但执行这个Demo可能需要一个支持JDBC连接的数据库(如MySQL、Oracle等),以及Java开发环境(如JDK)和相关的库,如数据库驱动。 8. **应用场景**:这种技术常见于Web应用中,...
### 从Oracle生成表的数据字典方法 在Oracle数据库管理中,数据字典是一个非常重要的工具,它能够帮助我们理解数据库结构、表定义以及列属性等详细信息。本篇文章将介绍如何从Oracle数据库中利用COMMENT生成Excel...
在IT行业中,有时我们需要集成不同的技术来实现特定功能,比如在这个场景中,"People Code调用Java生成Word简历文档"涉及到的是Oracle PeopleSoft应用中的编程技术和Microsoft Word文档生成。下面是详细的知识点解释...
总结来说,在Oracle EBS中实现文件上传和下载功能需要结合前端Form设计、后端Java处理以及数据库或文件系统的存储策略。通过合理的设计和编程,可以有效地实现安全、高效的文件管理功能,满足企业的业务需求。
Apache POI是一个流行的开源库,专门用于处理Microsoft Office格式的文件,如Excel(.xls或.xlsx)、Word(.doc或.docx)和PowerPoint(.ppt或.pptx)。在二进制转换的上下文中,POI可以帮助我们将这些文档转换为二...
在SQL Server数据库管理系统中,数据类型是至关重要的概念,它定义了存储在列中的数据的类型和格式。...通过深入理解和应用这些映射,可以确保数据在不同环境中的正确传输和处理,提高系统的稳定性和效率。
特别是对于Oracle数据库,DbVisualizer提供了高级特性,如CLOB(Character Large Object)和BLOB(Binary Large Object)数据类型的便捷操作,这对于处理大量文本或二进制数据至关重要。 在JDK1.8环境下运行...
"EXT操作数据库实例DBExplorer"是一个利用EXT库开发的数据库管理系统的示例,它提供了对多种数据库的访问和管理功能,并且能够将数据导出为Excel文件。下面我们将深入探讨EXT库以及如何与数据库交互,以及如何实现...
matlab导入excel代码utl_simple_convex_hull_polygon_envelop_for_a_scatter_plot 简单的凸包多边形多边形用于散点图。 关键字:sas sql join合并大数据分析宏oracle teradata mysql sas社区stackoverflow ...
此外,不同数据库管理系统(如MySQL、PostgreSQL、Oracle等)对Clob字段的支持和操作可能会有所不同,因此在使用时需要查阅相应的数据库文档。 总结,ActiveXObject和Clob字段分别代表了客户端脚本与服务器端组件的...
1. 文件上传与下载:用户可以上传文件到系统,也可以下载保存在系统中的文件。 2. 权限管理:设定不同用户或用户组对文件的访问权限,如读取、写入和执行。 3. 版本控制:跟踪文件的更改历史,以便回滚到先前版本。 ...
join合并大数据分析宏oracle teradata mysql sas社区stackoverflow statistics人工智慧AI Python R Java Javascript WPS Matlab SPSS Scala Perl CC#Excel MS Access JSON图形映射NLP自然语言处理机器学习igraph ...
处理BLOB 和 CLOB对象 11.7.3. 在IN语句中传入一组参数值 11.7.4. 处理复杂类型的存储过程调用 12. 使用ORM工具进行数据访问 12.1. 简介 12.2. Hibernate 12.2.1. 资源管理 12.2.2. 在Spring容器中创建 ...
处理BLOB 和 CLOB对象 11.7.3. 在IN语句中传入一组参数值 11.7.4. 处理复杂类型的存储过程调用 12. 使用ORM工具进行数据访问 12.1. 简介 12.2. Hibernate 12.2.1. 资源管理 12.2.2. 在Spring容器中创建 ...
2. 文档分类与索引:通过建立元数据结构,对文档进行分类和标记,方便快速检索。元数据包括标题、作者、创建日期等信息,使用户能够根据需要快速找到所需文档。 3. 检索功能:强大的搜索引擎支持全文检索、关键词...