文档章节

JDBC Item3: LOB(Large objects)

_
 _Roger_
发布于 2016/01/27 13:27
字数 417
阅读 18
收藏 1
点赞 1
评论 0

mysql存储大文本采用的是Text,Text和blob分别又分为: 

  • TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT 

  • TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB

一、使用JDBC处理MySQL的大文本

        对于MySQL中的Text类型,可调用如下方法设置

PreparedStatement.setCharacterStream(index, reader, length);//注意length长度须设置,并且设置为int型

  对MySQL中的Text类型,可调用如下方法获取

Reader reader = resultSet. getCharacterStream(String columnLabel);
string s = resultSet.getString(String columnLabel);

eg:插入大文本到数据库

Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
Reader reader = null;
try{
    conn = JdbcUtils.getConnection();
    String sql = "insert into testclob(resume) values(?)";
    st = conn.prepareStatement(sql);
    //这种方式获取的路径,其中的空格会被使用“%20”代替
    String path = JdbcOperaClob.class.getClassLoader().getResource("data.txt").getPath();
    //将“%20”替换回空格
    path = path.replaceAll("%20", " ");
    File file = new File(path);
    reader = new FileReader(file);
    st.setCharacterStream(1, reader,(int) file.length());
    int num = st.executeUpdate();
    if(num>0){
        System.out.println("插入成功!!");
    }


二、使用JDBC处理MySQL的二进制数据

    对于MySQL中的BLOB类型,可调用如下方法设置

PreparedStatement.setBinaryStream(i, inputStream, length);

    对MySQL中的BLOB类型,可调用如下方法获取

InputStream in  = resultSet.getBinaryStream(String columnLabel);
InputStream in  = resultSet.getBlob(String columnLabel).getBinaryStream();

eg:插入二进制文件到数据库

Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;        try{
    conn = JdbcUtils.getConnection();
    String sql = "insert into testblob(image) values(?)";
    st = conn.prepareStatement(sql);            //这种方式获取的路径,其中的空格会被使用“%20”代替
    String path = JdbcOperaBlob.class.getClassLoader().getResource("01.jpg").getPath();
    //将“%20”替换会空格
    path = path.replaceAll("%20", " ");
    File file = new File(path);
    FileInputStream fis = new FileInputStream(file);//生成的流
    st.setBinaryStream(1, fis,(int) file.length());            
    int num = st.executeUpdate();            
    if(num>0){
        System.out.println("插入成功!!");
    }


本文转载自:http://www.cnblogs.com/xdp-gacl/tag/JavaWeb%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/

共有 人打赏支持
_
粉丝 29
博文 82
码字总数 39915
作品 0
武汉
一篇关于“java.lang.OutOfMemoryError: PermGen space”的资料

Explaining java.lang.OutOfMemoryError: PermGen space Most probably, a lot of Java developers have seen OutOfMemory error one time or other. However these errors come in differen......

很懒的人
2010/02/24
0
0
Tuning Java Garbage Collection for Spark Applicati

This is a guest post from our friends in the SSG STO Big Data Technology group at Intel. Join us at the Spark Summit to hear from Intel and other companies deploying Spark in pr......

kuerant
2015/05/30
0
1
检测Java对象所占内存大小 (转载)

Don't pay the price for hidden class fields By Vladimir Roubtsov, JavaWorld.com, 08/16/02 Recently, I helped design a Java server application that resembled an in-memory databas......

翟柱堂
2011/09/14
0
0
Garbage Collection Roots

Garbage Collection Roots — The Source of All Object Trees Every object tree must have one or more root objects. As long as the application can reach those roots, the whole tre......

秋风醉了
2015/11/19
0
0
一句话讲清楚什么是JavaEE

Java技术不仅是一门编程语言而且是一个平台。同时Java语言是一门有着特定语法和风格的高级的面向对象的语言,Java平台是Java语言编写的特定应用程序运行的环境。Java平台有很多种,很多的Jav...

qq58edeba279279
06/26
0
0
一句话讲清楚什么是JavaEE

摘要: Java技术不仅是一门编程语言而且是一个平台。同时Java语言是一门有着特定语法和风格的高级的面向对象的语言,Java平台是Java语言编写的特定应用程序运行的环境。Java平台有很多种,很多...

qq592fbb5b34ad7
07/02
0
0
在oracle 数据库中使用 Blob 字段存储 一张图片并读取

进行数据库的设置 create table imagelob(tid varchar2(5) not null,t_image blob not null); create or replace directory "images" as 'f:pic'; create or replace procedure img_insert(t......

globalHawk
2014/12/05
0
0
bytebuffer vs c++ malloc

Java equivalents of malloc(), new, free() and delete (ctd) Continued from our introduction to memory management operators in C/C++ and Java. A Java equivalent of the malloc() fu......

不道归来
2017/10/23
0
0
Java:WeakReference vs SoftReference vs PhantomReference vs Strong reference

WeakReference and SoftReference were added into Java API from long time but not every Java programmer is familiar with it. Which means there is a gap between where andhow to use......

daveztong
2014/11/06
0
0
2000个软件开发领域的高频特殊词及精选例句(二)

superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。 276、单词 tokenizer 的匹配文本: Analysis is done by the anal...

杨尚川
2015/03/19
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
1
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部