java使用Clob类型完成大文本对象的读取操作
java可以以IO流的形式从数据库读取大文本字段,也可以使用Clob类型完成大文本对象的读取操作:
package com.mldn;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Clob;
public class ClobDemo1
{
/**
读取大文本
*/
// 连接驱动路径
public static final String DRIVER = "com.mysql.jdbc.Driver"; // "org.gjt.mm.mysql.driver"
// 定义数据源URL:数据库地址
public static final String DBURL = "jdbc:mysql://localhost:3306/BigOb?characterEncoding=utf8";
// 定义数据库登录的用户名:
public static final String USERNAME = "root";
// 定义数据库登录的密码:
public static final String PASSWORD = "123456";
public static void main(String[] args) throws Exception // 抛出所有异常
{
Connection conn = null; // 数据库连接
PreparedStatement pstmt = null; // 预处理语句
ResultSet rs = null; // 输出结果
// 加载数据库驱动
Class.forName(DRIVER);
// 获取数据库连接
conn = DriverManager.getConnection(DBURL, USERNAME, PASSWORD);
int id = 1; // 指定查询
// 预查询语句
String sql = "SELECT id, name, text FROM clob where id = ?";
// 预处理操作对象
pstmt = conn.prepareStatement(sql);
// 设置预处理
pstmt.setInt(1, id);
// 执行查询
rs = pstmt.executeQuery();
// 只进行一次操作
if (rs.next()) // rs每次调用标记一行,存在返回true,基于ResultSet的所有操作都必须先定位:标记行后再展开读取操作!
{
String name = rs.getString(2);
Clob clob = rs.getClob("text"); // 读取Clob类型
String note = clob.getSubString(1, (int)clob.length()); // 读取Clob对象的一个子串
clob.truncate(50); // 截取,只读取50个字符!
String note1 = clob.getSubString(5, (int)clob.length() - 4);
System.out.println("文本名称:" + rs.getString("name")); // 获取文本名称
System.out.println(note);
System.out.println(note1);
}
// 关闭操作与连接
rs.close();
pstmt.close();
conn.close();
}
}
/*
ubuntu@xu-desktop:~$ javac -d . work/ClobDemo1.java
ubuntu@xu-desktop:~$ java com.mldn.ClobDemo1
文本名称:mysql常用命令
MySQL的基本命令
[ ]中的内容为可选项
–创建数据库
mysql> create database 数据库名称
–创建表
……. // 中间内容省略
注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打开表所在的数据库 。
八、备份数据库:(命令在DOS的\mysql\bin目录下执行)
mysqldump –opt school>school.bbb
注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。[4] // 文件尾
L的基本命令
[ ]中的内容为可选项
–创建数据库
mysql> create // 读取的这个50个字符包含空白符!
……. // Clob类型提供了方便的文本读取操作,可以获取子串,也可以截取,还可以获取输入流或者设置输出流用于读写操作!
*/
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《java使用Clob类型完成大文本对象的读取操作》
本文地址:http://www.xiupu.net/archives-157.html
关注公众号:
微信赞赏
支付宝赞赏