资讯专栏INFORMATION COLUMN

Java知识点总结(JDBC-大文本对象的使用)

aboutU / 839人阅读

摘要:知识点总结大文本对象的使用知识点总结用于存储大量的文本数据大字段有些特殊,不同数据库处理的方式不一样,大字段的操作常常是以流的方式来处理。最大长度为字符的列。

Java知识点总结(JDBC-大文本对象的使用)

@(Java知识点总结)[Java, JDBC]

CLOB(Chaaracter Large Object)

用于存储大量的文本数据

大字段有些特殊,不同数据库处理的方式不一样,大字段的操作常常是以流的方式来处理。而非一般的字段,一次即可读出数据。

Mysql中相关类型:

TINYTEXT最大长度为255(2^8-1)字符的TEXT列。

TEXT最大长度为65535(2^16-1)字符的TEXT列。

MEDIUMTEXT最大长度为16777215(2^24-1)字符的TEXT列。

LONGTEXT最大长度为4294967295或4GB(2^32-1)字符的TEXT列。

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
 * 测试CLOB 文本大对象的使用
 * 将字符串和文本内容插入到数据库中的CLOB字段,讲CLOB字段取出来的操作
 * @author Administrator
 *
 */
public class Demo02 {
  //存
  private static void insert(Connection conn){
    String sql = "insert into users(NAME,INFO) values(?,?)";
    PreparedStatement ps = null;
    try {
     ps = conn.prepareStatement(sql);
     ps.setString(1, "黄晓明");
     //将文本内容直接输入到数据库
     //ps.setClob(2, new FileReader(new File("E:/b.txt")));
     //讲程序中的字符串输入到数据库的CLOB字段中
     ps.setClob(2, new BufferedReader(
         new InputStreamReader(new ByteArrayInputStream("黄晓明是个明星".getBytes("utf-8")))));
     
     ps.execute();
    
    } catch (SQLException | UnsupportedEncodingException e) {
     e.printStackTrace();
    }finally{
     DBUtil. close(ps);
     DBUtil. close(conn);
    }
  }
  
  //读
  private static void read(Connection conn){
    String sql = "select * from users where USERID = ?";
    PreparedStatement ps = null;
    ResultSet rs = null;
    try {
     ps = conn.prepareStatement(sql);
     ps.setObject(1, 10); //setObject()可以代替setInt()、setString()等
     rs = ps.executeQuery();
     while(rs.next()){
       Clob clob = rs.getClob("INFO");
       Reader r= clob.getCharacterStream(); //通过字符流的方式读取
       int temp = 0;
       while((temp = r.read())!=-1){
         System.out.print((char)temp);
         
       }
     }
    } catch (SQLException | IOException e) {
     e.printStackTrace();
    }finally{
       DBUtil.close(rs);
      DBUtil.close(ps);
      DBUtil.close(conn);
   }
  }
  
  public static void main(String[] args) {
    insert(DBUtil.getConn());
    read(DBUtil.getConn());
  }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71461.html

相关文章

  • Java识点总结JDBC-二进制对象使用

    摘要:知识点总结二进制对象的使用知识点总结用于存储大量的二进制数据大字段有些特殊,不同数据库处理的方式不一样,大字段的操作常常是以流的方式来处理的。最大长度为,字节的列。二进制对象的使用插入一张图片,并读取出来存读 Java知识点总结(JDBC-二进制对象的使用) @(Java知识点总结)[Java, JDBC] BLOB(Binary Large Object) 用于存储大量的二进制数据...

    Scholer 评论0 收藏0
  • Java识点总结JDBC-概要)

    摘要:知识点总结概要知识点总结简介为开发者使用数据库提供了统一的编程接口,它由一组类和接口组成主要在包中。跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。接口与特定数据库的连接会话,在连接上下文中执行语句并返回结果。 Java知识点总结(JDBC-概要) @(Java知识点总结)[Java, JDBC] 简介 JDBC(Java Database Connection)为Java...

    animabear 评论0 收藏0
  • Java识点总结JDBC-连接步骤及CRUD)

    摘要:知识点总结连接步骤及知识点总结连接数据库步骤依序关闭使用的对象连接操作加载对应驱动建立连接连接对象内部包含了对象,是一个远程连接。比较耗时这是对象管理的一个要点真正开发中,为了提高效率,都会使用连接池来管理连接对象张柏芝女张三执行结果 Java知识点总结(JDBC-连接步骤及CRUD) @(Java知识点总结)[Java, JDBC] 连接数据库步骤 showImg(https://s...

    hankkin 评论0 收藏0

发表评论

0条评论

aboutU

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<