java大对象存取的简单实现的代码

将开发过程中经常用的一些内容片段做个珍藏,下面资料是关于java大对象存取的简单实现的内容。

package info.itlanguageexpress.LargeObject;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MySqlLargeObjectAccess {

public static String DRIVER = "org.gjt.mm.mysql.Driver";
public static String USER = "root";
public static String PASSWORD = "your password";

public static void main(String[] args) throws Exception {
    Connection conn = null;
    try {
        Class.forName(DRIVER);
        conn = DriverManager.getConnection(URL, USER, PASSWORD);
        insertWordFileToMySql(conn);
        fetchWordFileFromMySql(conn);
    } catch (Exception ex) {
        ex.printStackTrace(System.out);
    } finally {
        try {
            conn.close();
        } catch (Exception ex) {
        }
    }
}
public static void insertWordFileToMySql(Connection conn)
        throws SQLException, IOException {
    PreparedStatement pstm = conn
            .prepareStatement("insert into wordInputTest values (?,?)");
    pstm.setString(1, "docx1");
    InputStream in = new FileInputStream("F:" + File.separator
            + "test1.docx");
    pstm.setBinaryStream(2, in, in.available());
    pstm.executeUpdate();
    pstm.close();
}
public static void fetchWordFileFromMySql(Connection conn)
        throws SQLException, IOException {
    PreparedStatement pstm = conn
    pstm.setString(1, "docx1");
    ResultSet rs = pstm.executeQuery();
    int count = 1;
    while(rs.next()) {
        InputStream in = rs.getBinaryStream("file");
        FileOutputStream out = new FileOutputStream("F:" + File.separator + "testcopy" + count + ".docx");
        byte[] b = new byte[1024];
        int len = 0;
        while ((len = in.read(b)) != -1) {
            out.write(b, 0, len);
            out.flush();
        }
        out.close();
        in.close();
        count++;
    }
    rs.close();
    pstm.close();
}

}

原文地址:https://blog.51cto.com/14147980/2386053

时间: 2024-10-04 06:30:08

java大对象存取的简单实现的代码的相关文章

java序列化对象简单理解

1. 什么是Java对象序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长.但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象.Java对象序列化就能够帮助我们实现该功能. 使用Java对象序列化,在保存对象时,会把其状态保存为一组字节,在未来,再将这些字节组装成对象.必须注意地是,对象序列化保存的是对象的"状态",

java 大数据处理之内存溢出解决办法(一)

http://www.cnblogs.com/a757956132/p/4644910.html http://my.oschina.net/songhongxu/blog/209951 一.内存溢出类型 1.java.lang.OutOfMemoryError: PermGen space JVM管理两种类型的内存,堆和非堆.堆是给开发人员用的上面说的就是,是在JVM启动时创建:非堆是留给JVM自己用的,用来存放类的信息的.它和堆不同,运行期内GC不会释放空间.如果web app用了大量的第三

JDBC:数据库操作:处理大对象CLOB数据

目标: 了解大对象处理基本原理, 掌握CLOB数据的读,写操作. 可以使用CLOB类处理大文本数据. 大对象处理主要指CLOB和BLOB两种类型字段.可以大量存储文字. 要想在程序中处理这样的大数据操作,则必须使用preparedStatement完成.所有文件内容通过IO流方式从大文本字段中保存和读取. 写入大数据对象: 使用PreparedStatement接口中的方法. void setAsciiStream(int parameterIndex, InputStream x, int l

使用SSH操作Oracle中BLOB大对象

package entity; /** * Bigobject entity. @author MyEclipse Persistence Tools */ public class Bigobject implements java.io.Serializable { // Fields private Integer id; private byte[] tblob; private String filename; // Constructors /** default construct

Java系列之:看似简单的问题 静态方法和实例化方法的区别

(2011-12-06 15:28:26) 转载▼ 标签: 杂谈 分类: study 今天看书时一直没真正弄明白静态方法和实例方法的区别,就在网上搜索,找到一篇很好的文章,和大家分享一下: 这是一个经常被时时提出来的问题,很多时候我们以为理解了.懂了,但深究一下,我们却发现并不懂. 方法是我们每天都在写得,很多程序员大多都使用实例化方法,而很少使用静态方法,问原因也说不出来所以然,或者简单的回答两者定义的区别,静态方法不需要new就可以使用 实例化方法需要new了以后才可以使用....我们真的理

Java大数据人才应用领域广,就业薪酬高

互联网创造了大数据应用的规模化环境,大数据应用成功的案例大都是在互联网上发生的, 互联网业务提供了数据,互联网企业开发了处理软件,互联网企业的创新带来了大数据应用 的活跃,没有互联网便没有今天的大数据产业.没有互联网.云计算.物联网.移动终端与 人工智能组合的环境大数据也没那么重要.大数据的价值并非与生俱来而是应用创新之结果 ,价值是由技术组合创新涌现出来的.离开环境的支持大数据毫无价值,就像离开了身体的 手不再有手的功能一样. 随着2017年大数据各种应用的发展,大数据的价值得以充分的发挥,大

Java的对象和类

以下内容引用自http://wiki.jikexueyuan.com/project/java/object-classes.html: 一.概述 Java是一种面向对象的语言.作为一种具有面向对象特征的语言,Java包括以下几项基本概念: 多态性 继承性 封装性 抽象性 类 对象 实例 消息解析 什么是类和对象: 对象:对象具有状态和行为.比如现实世界的:小汽车,狗,人类等等.所有这些对象都具有状态和行为. 类:类可以被定义为描述对象支持类型的行为.状态的的模板.蓝图. 二.Java中的对象

大对象

存取大对象---LOB    [分类]:        1)Character LOB --> CLOB(Text有四个子类型)        2)Binary    LOB --> BLOB(Blob有四个子类型)            一]CLOB            1.重点类库:            1)PreaParedStatement类:                    重点方法:                    写:                      

jvm对大对象分配内存的特殊处理(转)

前段日子在和leader交流技术的时候,偶然听到jvm在分配内存空间给大对象时,如果young区空间不足会直接在old区切一块过去.对于这个结论很好奇,也比较怀疑,所以就上网搜了下,发现还真有这么回事.以下给出具体代码来说明: 首先定义好jvm内存各个区域的大小.我设定的是eden区8M,from和to各1M,old区10M,总共20M的空间,参数如下: Shell代码   -Xms20M -Xmx20M -Xmn10M -XX:SurvivorRatio=8 紧接着,开始写程序.很简单,就是初