博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用JDBC处理MySQL大数据
阅读量:5937 次
发布时间:2019-06-19

本文共 2112 字,大约阅读时间需要 7 分钟。

大数据也称之为LOB(Large Objects),LOB又分为:clob和blob

clob字符型大型对象用于存储大文本,如历史档案、大部头著作等;blob二进制大型对象用于存储二进制数据,如程序、图象、影音等。

  对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,

  Text:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT
  blob:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB

使用JDBC处理MySQL的大文本Text

  对于MySQL中的Text类型,可调用如下方法设置

PreparedStatement.setCharacterStream(index, reader, length);//注意length长度须设置,并且设置为int型

对MySQL中的Text类型,可调用如下方法获取

Reader reader = resultSet. getCharacterStream(String columnLabel);  string s = resultSet.getString(String columnLabel);

 

例子:

String contentStr ="";            String content = "";            if(rs.next()){                //使用resultSet.getString("字段名")获取大文本数据的内容                content = rs.getString("resume");                //使用resultSet.getCharacterStream("字段名")获取大文本数据的内容                Reader reader = rs.getCharacterStream("resume");                char buffer[] = new char[1024];                int len = 0;                FileWriter out = new FileWriter("D:\\1.txt");                while((len=reader.read(buffer))>0){                    contentStr += new String(buffer);                    out.write(buffer, 0, len);                }                out.close();                reader.close();            }

使用JDBC处理MySQL的二进制数据blob

  对于MySQL中的BLOB类型,可调用如下方法设置:

PreparedStatement.setBinaryStream(i, inputStream, length);

  对MySQL中的BLOB类型,可调用如下方法获取:

InputStream in  = resultSet.getBinaryStream(String columnLabel);InputStream in  = resultSet.getBlob(String columnLabel).getBinaryStream();

代码片段:

if (rs.next()) {                //InputStream in = rs.getBlob("image").getBinaryStream();//这种方法也可以                InputStream in = rs.getBinaryStream("image");                int len = 0;                byte buffer[] = new byte[1024];                                FileOutputStream out = new FileOutputStream("D:\\1.jpg");                while ((len = in.read(buffer)) > 0) {                    out.write(buffer, 0, len);                }                in.close();                out.close();            }

 参考链接:https://www.cnblogs.com/xdp-gacl/p/3982581.html

转载于:https://www.cnblogs.com/huangdabing/p/9187064.html

你可能感兴趣的文章
我的友情链接
查看>>
Centos 7.5 部署DNS
查看>>
yum简介
查看>>
cp讲解
查看>>
MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)
查看>>
如何在 Swift 语言下使用 iOS Charts API 制作漂亮图表?
查看>>
论代码审查的重要性
查看>>
「docker实战篇」python的docker爬虫技术-导学(一)
查看>>
linux日志基础介绍
查看>>
如何关闭SElinux
查看>>
处理器之MMU(三)
查看>>
172.16.82.0/25的含义,IP段,掩码
查看>>
测试之路
查看>>
终于对了
查看>>
RabbitMQ集群
查看>>
Apache防盗链和隐藏版本信息
查看>>
ARP协议与路由
查看>>
SCI检索介绍
查看>>
Android开发之生成自己的签名文件及App签名打包
查看>>
如何提高阿里云上应用的可用性(二)
查看>>