大对象数据LOB的应用

LOB数据类型概述

由于无结构的数据往往都是大型的,存储量非常大,而LOB(large object)类型主要用来支持无结构的大型数据.用户可以用LOB数据类型来存储大型的无结构数据,特别是文本,图形,视频和音频等多媒体数据,系统还提供了随机访问这些LOB类型数据的有效办法.

 

LOB数据类型可以分为以下几种:Oracle sun mysql jdk

  1. BLOB:二进制LOB类型,用户存放无结构的二进制数据,最大4GB. binary 二进制

  2. CLOB:字符LOB类型,用于存放字符数据,最大可以存储4GB. char character lob

  3. NLOB:字符LOB类型,和CLOB相同,支持国家字符集.多字符集 GBK

  4. BFILE:二进制文件类型,与数据库外的操作系统文件相关联,该文件存储二进制大对象.

 

使用LOB类型数据的限制:

系统不支持分布式LOB,用户不能在SELECT子句或WHERE子句中使用远程LOB定位器,也不能在DBMS_LOB包的子程序中使用远程定位器,也不能引用包含LOB属性的远程表中的对象.

LOB列不能用于聚集表.

LOB列不能出现在查询语句的GROUP BY,ORDER BY ,DISTINCT(去重复)之后,也不允许出现在分组函数和连接函数中.

LOB类型不能出现在数组的定义中.

LOB类型不能够出现在建有分区索引的表中.

NCLOB类型不能作为对象类型的属性,当可以作为对象类型的方法的参数类型.

 

 

MySQL数据库对LOB类型数据的存取(读写)操作.

 

CREATE DATABASE lob;

USE lob;

CREATE TABLE TEXTCLOB(

CID INT NOT NULL PRIMARY KEY,

CNAME VARCHAR(20),

NOTES LONGTEXT

);

SELECT * FROM TEXTCLOB;

 

JDBC连接数据库的主要步骤:

1. Class.forName("com.mysql.jdbc.Driver");//反射 类对象 四种

2.获取连接 Connection conn=DriverManager.getConnection(URL,USER,PASSWORD);

3.编写SQL语句并发送 PrepapredStatement pstm=conn.prepareStatement(sql);

4.获得数据库返回结果 (ResultSet rs) 增删改(int)

5.关闭资源 public static void closeResource(Connection conn,PreparedStatement pstm,ResultSet rs)

 

工具类 方法:封装,设置为静态方法,好处,调用方便.

public class MySQLConnectionUtil {
private static String DRIVER="com.mysql.jdbc.Driver";
private static String URL="jdbc:mysql://127.0.0.1:3306/lob";
private static String USERNAME="root";
private static String PASSWORD="123456";

public static Connection getConnection(){
Connection connection=null;
try {
Class.forName(DRIVER);
connection= DriverManager.getConnection(URL,USERNAME,PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}

public static void close(Connection connection, PreparedStatement preparedStatement, ResultSet resultSet){

try {
if(resultSet!=null){
resultSet.close();
}
if (preparedStatement!=null){
preparedStatement.close();
}
if (connection!=null){
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}

}

 

posted @ 2020-09-06 17:32  十二cs  阅读(165)  评论(0)    收藏  举报