




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA
应用开发详解第17章:Java数据库编程——处理大对象数据(1)——处理CLOB数据MLDN
软件教学研发部本章目标
了解大对象处理的基本原理
掌握CLOB数据的读、写操作
可以使用Clob类方便的处理大文本数据大对象
大对象处理主要指的是CLOB和BLOB两种类型的字段,在CLOB中可以存储海量文字,例如,存储一部《三国演义》或《红楼梦》等。在BLOB中可以存储二进制数据,如图片、电影等等,如果在程序中要想处理这样的大对象操作,则必须使用PreparedStatement完成,所有的内容要通过IO流的方式从大文本字段中保存和读取。写入大对象数据No.方法类型描述1void
setAsciiStream(intparameterIndex,InputStream
x,int
length)throws
SQLException普通将指定的输入流写入数据库的文本字段2void
setBinaryStream(intparameterIndex,InputStream
x,int
length)throws
SQLException普通将二进制的输入流数据写入到二进制字段之中读取大对象数据No.方法类型描述1InputStream
getAsciiStream(int
columnIndex)throws
SQLException普通根据列的编号返回大对象的文本输入流2InputStream
getAsciiStream(String
columnName)throws
SQLException普通根据列的名称返回大对象的文本输入流3Clob
getClob(int
i)
throws
SQLException普通根据列的编号返回Clob数据4Clob
getClob(String
colName)
throwsSQLException普通根据列名称返回Clob数据5InputStream
getBinaryStream(int
columnIndex)throws
SQLException普通根据列的编号,返回二进制数据6InputStream
getBinaryStream(String
columnName)throws
SQLException普通根据列的名称,返回而进制数据7Blob
getBlob(int
i)
throws
SQLException普通根据列的编号,返回Blob数据8Blob
getBlob(String
colName)
throwsSQLException普通根据列名称,返回Blob数据处理CLOB数据
CLOB表示大文本数据,在MySQL中提供了LONGTEXT表示大文本数据,此字段的最大保存数据量为4G。例如,下面有如下的数据库创建脚本:DROP
TABLE
userclob
;CREATE
TABLE
userclob(INTAUTO_INCREMENTNOT
NULL
,VARCHAR(30)LONGTEXTidPRIMARY
KEY
,namenote)
;写入大文本数据public
static
void
main(String[]
args)
throws
Exception
{Connection
conn=null
;PreparedStatement
pstmt=null
;String
name="李兴华";//数据库连接//数据库操作//姓名String
sql
=
"INSERT
INTO
userclob(name,note)
VALUES
(?,?)
"
;...//声明一个File对象,用于找到要操作的大文本文件File
f
=
new
File("d:"
+
File.separator
+
"mldn.txt");InputStream
input
=
null
;input
=
new
FileInputStream(f)
;pstmt.setString(1,
name)
;//通过输入流读取内容//通过输入流读取文件//设置第一个“?”的内容pstmt.setAsciiStream(2,
input,
(int)f.length())
;
//pstmt.executeUpdate()
;pstmt.close()
;conn.close()
;设置输入流//执行数据库更新操作//操作关闭//数据库关闭}}读取大文本字段public
static
void
main(String[]
args)
throws
Exception
{...int
id
=
1
;
//
idString
sql
=
"SELECT
name,note
FROM
userclob
WHERE
id=?"
;...pstmt
=
conn.prepareStatement(sql)
;pstmt.setInt(1,
id)
;rs
=
pstmt.executeQuery()
;if(rs.next()){String
name
=
rs.getString(1)
;//实例化PreparedStatement//设置查询的id//查询//判断是否有内容//取出name列的内容StringBuffer
note=new
StringBuffer();
System.out.println("姓名:"+name);InputStream
input=rs.getAsciiStream(2);//接收全部的大文本数据//接收数据//将文件换行作为分割符Scanner
scan
=
new
Scanner(input)
;scan.useDelimiter("\r\n")
;while(scan.hasNext()){note.append(scan.next()).append("\n");//不断读取内容}System.out.println("内容:"
+
note)
;
//
输出内容input.close()
;}...}}Clob类
以上的做法是将大文本数据内容直接通过ResultSet读取进来的,当然也可以使用ResultSet中提供的getClob()方法,将全部的内容变为Clob对象的内容,直接使用Clob可以方便的取得大文本的数据,也可以对这些文本数据进行一些简单的操作,如截取指定长度的文本等。Clob类的常用方法No.方法类型描述1InputStream
getAsciiStream()throwsSQLException普通返回输入流对象2String
getSubString(long
pos,int
length)
throwsSQLException普通从Clob中得到指定范围的字符串3long
length()
throws
SQLException普通返回Clob中的字符数量4void
truncate(long
len)
throws
SQLException普通截取指定长度的大文本使用Clob读取内容public
static
void
main(String[]
args)
throwsException{...//查询if(rs.next()){//判断是否有内容String
name
=
rs.getString(1)
;//取出name列的内容Clob
c
=
rs.getClob(2)
;//取出大文本数据String
note
=
c.getSubString(1,
(int)c.length())
;System.out.println("姓名:"+name);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030私人理财行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030硼铁行业市场深度发展趋势与前景展望战略研究报告
- 2025-2030硅橡胶市场发展现状调查及供需格局分析预测研究报告
- 2025w劳动合同法律咨询
- 2025-2030电工手工具行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030瓜子行业市场深度分析及发展策略研究报告
- 2025-2030环丙虫酰胺行业供需格局调研及前景运营状况分析研究报告(-版)
- 2025年版融资租赁合同书
- 2025-2030物流信息化行业市场发展分析及前景趋势与投资战略研究报告
- 2025-2030热继电器市场发展现状调查及供需格局分析预测研究报告
- 小学语文教学经验交流
- 主题一 第4课 走进敬老院(教学设计)教科版六年级下册综合实践活动
- 装修代卖合同范本
- 2025年山东省春季高考数学模拟试卷试题(含答案详解)
- 抑郁症的科普宣讲
- 小学三年级数独比赛“六宫”练习题(88道)
- 四川省既有建筑增设电梯工程技术标准
- 基础设施维护保养方案
- DZ∕T 0275.3-2015 岩矿鉴定技术规范 第3部分:矿石光片制样(正式版)
- 台球厅桌球俱乐部创业计划书课件模板
- 医务人员技术档案
评论
0/150
提交评论