概述

  由于无结构的数据往往都是大型的,存储量特别大,而LOB(large object)类型主要用来支持无结构的大型数据。

  用户可以利用LOB数据类型来存储大型的无结构数据,特别是文本,图形,视频和音频等多媒体数据,

  系统还提供了随机访问这些LOB数据类型的有效方法。

LOB数据类型可以分为以下几种:

  • BLOB:二进制LOB类型,用于存放无结构的二进制数据,最大4GB。
  • CLOB:字符LOB类型,用于存放字符数据,最大可以存储4GB。
  • NLOB:字符LOB类型,和CLOB相同,支持国家字符集。
  • BFILE:二进制文件类型,与数据外的操作系统文件相关联,该文件存储二进制大对象。

使用LOB类型数据的限制:

  •   系统不支持分布式LOB,用户不能在SELECT子句或WHERE子句中使用远程LOB定位器,也不能在DBMS_LOB包的子程序中使用远程定位器

    ,也不能引用包含LOB属性的远程表中的对象.

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

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

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

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

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

  • Class.forName("com.mysql.jdbc.Driver");//反射 类对象 四种
  • 获取连接 Connection conn=DriverManager.getConnection(URL,USER,PASSWORD);
  • 编写SQL语句并发送 PrepapredStatement pstm=conn.prepareStatement(sql);
  • 获得数据库返回结果 (ResultSet rs) 增删改(int)
  • 关闭资源 public static void closeResource(Connection conn,PreparedStatement pstm,ResultSet rs)

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

package com.guigu.jdbc;

import java.sql.*;

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();
} }
}
package com.guigu.jdbc;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; public class JDBCMySQLCOLBWriter {
public static void main(String[] args) {
String sql="INSERT INTO TEXTCLOB VALUES (?,?,?)";
Connection connection=MySQLConnectionUtil.getConnection();
PreparedStatement preparedStatement=null;
try {
preparedStatement=connection.prepareStatement(sql);
File file =new File("D:/workspace/site.txt");
//使用输入流读写文本文件
InputStream inputStream=new FileInputStream(file);
//加载SQL语句中VALUES占位符参数
preparedStatement.setInt(1,1);
preparedStatement.setString(2,"site.txt");
preparedStatement.setAsciiStream(3,inputStream);
int count = preparedStatement.executeUpdate();
if(count>0){
System.out.println("数据插入成功");
}else{
System.out.println("数据插入失败");
} } catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally {
MySQLConnectionUtil.close(connection,preparedStatement,null);
}
}
}

心得:

   哪有那么多“天注定” 所有看似幸运和巧合的事都来源于悄悄努力,

   你的人生是默默无闻还是光彩显赫,完全取决于你自己。

大对象数据LOB的应用的更多相关文章

  1. 大对象数据LOB的应用(Day_10)

    当你有永不放弃的精神,全力以赴的态度,你会惊叹自己也能创造奇迹! LOB数据类型概述 由于于无结构的数据往往都是大型的,存储量非常大,而LOB(large object)类型主要用来支持无结构的大型数 ...

  2. Spring 让 LOB 数据操作变得简单易行,LOB 代表大对象数据,包括 BLOB 和 CLOB 两种类型

    转自:https://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/index.html 概述 LOB 代表大对象数据,包括 BLOB 和 CL ...

  3. Oracle数据库中的大对象(LOB)数据类型介绍

    一.LOB数据类型的介绍 大对象(LOB)数据类型允许我们保存和操作非结构化和半结构化数据,如文档.图形图像.视频片段.声音文件和XML文件等.DMBS_LOB 包被设计用于操作 LOB 数据类型.从 ...

  4. Statement和PreparedStatement的特点 MySQL数据库分页 存取大对象 批处理 获取数据库主键值

    1 Statement和PreparedStatement的特点   a)对于创建和删除表或数据库,我们可以使用executeUpdate(),该方法返回0,表示未影向表中任何记录   b)对于创建和 ...

  5. JavaEE JDBC 读写LOB大对象

    JDBC 读写LOB大对象 @author ixenos LOB 除了数字.字符串和日期之外,许多数据库还可以存储大对象,例如图片或其他数据, 在SQL中,二进制(字节型)大对象称为BLOB,字符型大 ...

  6. Oracle LOB 大对象处理

    LOB类型列主要是用来存储大量数据的数据库字段,最大可以存储4G字节的非结构化数据. 一.LOB数据类型分类 1.按存储数据的类型分: ①字符类型:   CLOB:存储大量 单字节 字符数据.   N ...

  7. [转帖]Oracle数据库lob大对象数据类型字段总结,值得收藏

    Oracle数据库lob大对象数据类型字段总结,值得收藏 原创 波波说运维 2019-07-11 00:02:00 https://www.toutiao.com/i67108943269703357 ...

  8. BLOB:大数据,大对象,在数据库中用来存储超长文本的数据,例如图片等

    将一张图片存储在mysql中,并读取出来(BLOB数据:插入BLOB类型的数据必须使用PreparedStatement,因为插入BLOB类型的数据无法使用字符串拼写): -------------- ...

  9. Hibernate 中 联合主键映射 组合关系映射 大对象映射(或者说文本大对象,二进制数据大对象)

    Clob:文本大对象,最长4G Blob:二进制数据大对象,最长4G util: public class HibUtil { private static SessionFactory sessio ...

随机推荐

  1. prometheus入门介绍及相关组件、原理讲解

    1:介绍 Prometheus 是由 SoundCloud 开源监控告警解决方案. prometheus是由谷歌研发的一款开源的监控软件,目前已经被云计算本地基金会托管,是继k8s托管的第二个项目. ...

  2. Box UVA - 1587

    Ivan works at a factory that produces heavy machinery. He has a simple job - he knocks up wooden box ...

  3. JAVAEE_Servlet_09_Adapter适配器GenericServlet

    适配器 GenericServlet * 适配器 (Adapter) - 适配器的作用? 1.我们目前所有的Servlet类都直接实现了javax.servlet.Servlet接口,但是该接口中有些 ...

  4. 推荐个开源在线文档,助道友领悟 Django 之“道”

    本文面向有手(需要一点点 Python Django 基础)的小伙伴,急需文档管理者食用最佳. 作者:HelloGitHub-吱吱(首发于 HelloGitHub 公众号) 嗷嗷待哺的小白:" ...

  5. 基于MATLAB的手写公式识别(10)

    2公式分割 2.1投影分割法 12:23:00 完成水平和垂直两个方向上的投影 15:32:23 水平投影只投到水平方向的影,垂直投影只投到垂直方向上的影. 16:51:38  17:37:08 终其 ...

  6. ACM JAVA大数

    有的水题自己模拟下大数就过了,有的各种坑,天知道曾经因为大数wa了多少次....自己最近学者用JAVA,下面是自己总结的JAVA常用知识.. 框架 import java.util.Scanner; ...

  7. (转)Amazon Aurora MySQL 数据库配置最佳实践

    转自:https://zhuanlan.zhihu.com/p/165047153 Amazon Aurora MySQL 数据库配置最佳实践 AWS云计算 ​ 已认证的官方帐号 1 人赞同了该文章 ...

  8. 10.PHP加密相关

    PHP加密函数 <?php    $str = 'This is an example!';    echo '1:'.$str.'<br>';    $crypttostr = c ...

  9. Win64 驱动内核编程-6.内核里操作注册表

    内核里操作注册表 RING0 操作注册表和 RING3 的区别也不大,同样是"获得句柄->执行操作->关闭句柄"的模式,同样也只能使用内核 API 不能使用 WIN32 ...

  10. 写复杂的json方法

    <?php for($j=0; $j< 30; $j++) { $Axis[$j] = "a"; } $data['xAxis']= $Axis; for($i=0; ...