易截截图软件、单文件、免安装、纯绿色、仅160KB

java操作oracle数据库中的blob字段

oracle中的BLOB字段是存储2进制的文件,比如文件,图片等。
1、把本地文件写入数据库
package com.data;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class WriteBlob {
/**
* beckham 2009-12-7 下午09:47:36
*/
public static void main(String[] args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@localhost:1521:menhu";
String user = "zm";
String password = "zm";
Connection conn = DriverManager.getConnection(url, user, password);
// 设置手动提交
conn.setAutoCommit(false);
Statement sta = null;
ResultSet rs = null;
PreparedStatement ps = null;
// 插入空值
String sql = "insert into mytest values(3,empty_blob()) ";
sta = conn.createStatement();
sta.executeUpdate(sql);
conn.commit();
// 锁定并编辑当前数据
sql = "select images from mytest where id=3 for update";
rs = sta.executeQuery(sql);
if (rs.next()) {
oracle.sql.BLOB b = (oracle.sql.BLOB) rs.getBlob("images");
// 输入流
OutputStream os = b.getBinaryOutputStream();
// 输出流
FileInputStream fiis = new FileInputStream(new File("1.doc"));
// 入库
byte[] tmp = new byte[1024];
int a = 0;
while ((a = fiis.read(tmp)) != -1) {
os.write(tmp, 0, a);
os.flush();
}
os.close();
fiis.close();
}
conn.commit();
rs.close();
sta.close();
conn.close();
}
}
 
2、从数据库中读取Blob字段数据
package com.data;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ReadBlob {
/**
* beckham 2009-12-8 下午03:49:30
*/
public static void main(String[] args) throws Exception


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

欲为Java技术大牛所需的25个学习要点

1. 你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams。
2. 你需要学习Java语言的基础知识以及它的核心类库(collections、serialization、streams、networking、multithreading、reflection、event、handling、NIO、localiza ......

java动态代理

Java动态代理类位于Java.lang.reflect包下,一般主要涉及到以下两个类: 
(1). Interface InvocationHandler:该接口中仅定义了一个方法Object:invoke(Object obj,Method method, Object[] args)。在实际使用时,第一个参数obj一般是指代理类,method是被代理的方法,如上例中的dothing(),args为该方法的参数数组。 ......

初学java刚写的3个数比较大小

import java.io.*;
class abc
{
    public static void main(String [] args)
     {
        int a=0;
        int b=0;
        int c=0;
   &n ......

Java中字符串(String)的存储和赋值原理

可能很多java的初学者对String的存储和赋值有迷惑,以下是一个很简单的测试用例,你只需要花几分钟时间便可理解。
1.在看例子之前,确保你理解以下几个术语:
 
栈 :由JVM分配区域,用于保存线程执行的动作和数据引用。栈是一个运行的单位,Java中一个线程就会相应有一个线程栈与之对应。
 
堆 :由JVM分配 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号