- 浏览: 1325722 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (896)
- spring4 (14)
- hibernate3 (26)
- spring2 (35)
- struts2 (55)
- struts1 (15)
- 设计模式 (15)
- java (172)
- mybatis3 (11)
- sql (17)
- mysql (13)
- jbpm (10)
- J2EE (45)
- tools (29)
- js (83)
- 数据结构 (13)
- Html (26)
- web (22)
- flex (33)
- Oracle (57)
- linux (49)
- 算法 (6)
- 其它 (12)
- easyui (1)
- bootstrap (13)
- xml (2)
- tomcat (1)
- redis (10)
- activemq (2)
- webservice (11)
- maven (2)
- springboot (1)
- ubuntu (1)
- python (14)
- rocketmq (1)
- springcloud (10)
- opencv (1)
最新评论
-
mike_eclipse:
Hashtable是线程不安全的吗?好像是线程安全的吧?
多线程之集合类 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
lodop打印控件 -
xingcxb:
经过测试,假的,依旧会出现中文乱码!!!!store方法里面采 ...
java 读写Properties文件,不会出现中文乱码 -
tiger20111989:
...
Spring注解方式管理事务 -
zw7534313:
...
js 文字上下滚动 无间断循环显示
CREATE SEQUENCE "ZW"."STUDENT_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 81 CACHE 20 NOORDER NOCYCLE ;
public class InsertImage extends HttpServlet { //插入blob,先获取id (id自增有个触发器给删除了)
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req,resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// String fileName="D:\\My Documents\\My Pictures\\colorjb33.bmp";
int id=this.getId(); //同一个id
String name=req.getParameter("name");
String fileName=req.getParameter("fileName");
Blob b=null;
int i=0;
OracleConnection oc=new OracleConnection();
Connection conn=oc.getConnection();
try {
String sql="insert into student(id,name,image) values(?,?,empty_blob())";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setInt(1, id);
ps.setString(2, name);
i= ps.executeUpdate();
ps.close();
System.out.println("insert empty_blob");
String sl="select image from student where id=? for update";
PreparedStatement ps2=conn.prepareStatement(sl);
ps2.setInt(1, id);
ResultSet rs2=ps2.executeQuery();
byte[] buf=new byte[1024];
if(rs2.next()){
b=rs2.getBlob("image");
System.out.println(b);
BufferedOutputStream bos=new BufferedOutputStream(b.setBinaryStream(0));
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(fileName));
while(bis.read(buf)!=-1){
bos.write(buf);
}
bos.close();
bis.close();
}
rs2.close();
ps2.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("success.............");
}
private int getId(){
int id=0;
OracleConnection oc=new OracleConnection();
Connection conn=oc.getConnection();
String sql="select student_seq.nextval from dual";
try {
PreparedStatement ps=conn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
if(rs.next()){
id=rs.getInt(1);
}
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return id;
}
}
发表评论
-
access数据库jdbc连接
2019-08-15 09:31 547DriverManager.getConnection(&qu ... -
jdbc连接sql server数据库
2019-08-09 09:05 596public class DataTransmission { ... -
postgresql语法
2019-08-02 16:21 451select CURRENT_DATE from t_user ... -
Oracle外键级联删除和级联更新
2016-01-16 11:51 1820Oracle外键级联删除和级联更新 Oracle在外 ... -
Oracle Job
2015-06-11 22:27 697声明一个job: declare ... -
procedure 不能编译,数据库死锁
2012-03-05 21:17 1246一、数据库死锁的现象 ... -
temporary table ,hint,over(),imp
2012-03-05 21:10 1223create global temporary table ... -
PL/SQl 死循环,死锁
2012-02-20 19:23 1553查找死循环:select * from v$session ... -
PL/SQL批绑定 FORALL
2012-02-01 11:12 1270批绑定: PL/SQL语名块中的SQL语句被送往SQ ... -
PL/SQL 联合数组,集合类型
2012-01-05 14:16 1143自定义Type: create Type arr_Ty ... -
oracle数据库的游标Cursor和存储过程 PL/SQL
2012-01-05 14:03 2212oracle数据库的游标和存储过程 spool abc.lo ... -
对Oracle数据库中的大表管理的简化--分区表
2011-02-21 09:27 1870为了简化Oracle数据库中的大表管理,因而Oracle8推出 ... -
Oracle分页查询 效率高
2011-02-21 09:25 39531.Oracle分页查询:SELECT * ... -
Oracle数学函数和SQL数学函数的区别
2011-02-21 09:22 1254Oracle数学函数和SQL Server中的数学函数不太一样 ... -
oracle多列子查询的实现
2011-02-17 15:42 2433oracle多列子查询是oracle数据库中的一种查询方 ... -
oracle 去重复,¥货币,保留小数点后两位,测试SQL语句执行时间
2011-02-17 15:38 39591.去重复数据:select * from b a where ... -
ORACLE 左连接 left join
2011-02-11 18:05 2694ORACLE 左连接:1.使用(+)表示:SELECT A.O ... -
用EXISTS替换DISTINCT
2011-02-09 12:24 5357Oracle SQL 性能优化技巧 1.选用适合的O ... -
列转行 sql
2010-12-24 15:15 1539如表ROW2COLUMN2有以下数据: 名字 课程 分数 ... -
Exists 和In
2010-12-17 13:28 9923
相关推荐
本篇文章将深入探讨如何在Delphi中对Oracle数据库的BLOB字段进行读写操作。 首先,你需要在Delphi项目中引入Oracle数据库访问的相关组件,如DBExpress或ADO。DBExpress是Delphi内置的一个轻量级数据库访问框架,而...
本篇文章将深入探讨如何使用C#语言访问Oracle数据库,并重点讲解处理Blob(Binary Large Object)字段的读写操作。 首先,让我们理解C#访问Oracle数据库的基本原理。Oracle数据库提供了一个名为ODP.NET(Oracle ...
oracle中用来存储大数据的BLOB(图片,文本,文件等)的 读写与复制方法
BLOB是一种可以存储大量二进制数据的对象,分为四种子类型:BLOB、CLOB、NCLOB和BFILE。在Oracle中,BLOB用于存储二进制数据,如照片;而在MySQL中,BLOB也有类似的分类,包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB...
在数据库系统中,二进制大对象(Binary Large Object,简称BLOB)是一种用于存储大量二进制数据的数据类型,例如图像、音频或视频文件等。Oracle数据库支持Blob类型,允许用户在数据库中直接存储和管理这些大型文件。...
Oracle数据库在存储大对象(BLOB)数据时,提供了高效且灵活的方式,使得二进制数据如图片、文档等能够安全地保存在数据库中。批量导出Oracle数据库中的BLOB字段生成图片,是一项常见的需求,尤其对于那些需要将...
本篇文章将深入探讨如何在 Oracle 数据库与基于 WebLogic 的应用中读写 BLOB 数据。 首先,Oracle 数据库提供了多种操作 BLOB 值的方法。在 SQL 查询中,你可以使用 `SELECT BLOB_COLUMN FROM TABLE` 来读取 BLOB ...
"基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案" 本文介绍了一种基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案。该方案使用JSP技术读取ORACLE数据库中的BLOB字段存储的坐标点,然后将坐标传递到...
Oracle数据库在处理大对象(LOB)类型,如Clob(Character Large Object)和Blob(Binary Large Object)时,有时需要专门的工具来进行高效且安全的数据导出。这些字段通常存储大量的文本或二进制数据,比如长篇文档...
以下是一个简单的示例,演示如何使用ADO.NET在Oracle数据库中读写Blob: ```csharp using Oracle.ManagedDataAccess.Client; public void WriteBlob(string connectionString, string blobColumnName, byte[] data...
它可能包含具体的数据库连接配置、BLOB读写方法的实现等,通过分析这个文件的源码,我们可以更深入地了解Java与Oracle在处理大字段时的具体细节和最佳实践。 总的来说,Java与Oracle在处理大字段时的交互涉及到...
Hibernate提供了`BlobType`等类型映射器来简化BLOB字段的读写操作。开发者可以通过实体类中的字段直接与BLOB类型的数据库字段关联,Hibernate会在后台自动处理BLOB的读取和写入过程。 总之,无论是使用JDBC还是...
本文将详细介绍如何使用Hibernate和JDBC读取和存储Oracle数据库中的Blob对象。 ### 1. Hibernate Blob操作 在Hibernate中,Blob对象通常与Java的`java.sql.Blob`接口相对应。在实体类中,你可以定义一个Blob类型的...
在Oracle数据库中,BLOB(Binary Large Object)和CLOB(Character Large Object)是两种用于存储大量数据的特殊字段类型。本篇文章将深入剖析如何使用MyBatis框架在Oracle数据库中对BLOB类型字段进行保存和读取。 ...
### Oracle中的BLOB和CLOB的区别 在Oracle数据库中,`BLOB`(Binary Large Object)和`CLOB`(Character Large Object)是用于存储大量数据的两种特殊数据类型。这两种类型都属于`LOB`(Large Object)类别,主要...
- BLOB插入:可以使用DBMS_LOB包中的函数,如DBMS_LOB.CREATETEMPORARY和DBMS_LOB.WRITE来创建并填充BLOB对象。然后,将这个对象作为参数传递给INSERT语句。 ```sql DECLARE blob_var BLOB; BEGIN DBMS_LOB....