Jdbc中大文本类型的处理
Oracle中大文本数据类型,
Clob 长文本类型 (MySQL中不支持,使用的是text)
Blob 二进制类型
MySQL数据库,
Text 长文本类型
Blob 二进制类型
package com.loaderman.demo.e_longtext;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.Reader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement; import com.loaderman.demo.utils.JdbcUtil;
import org.junit.Test; public class App_blob { // 全局参数
private Connection con;
private Statement stmt;
private PreparedStatement pstmt;
private ResultSet rs; @Test
// 1. 二进制数据类型 ( 写longblob)
public void testSaveText() {
String sql = "insert into test(img) values(?)";
try {
// 连接
con = JdbcUtil.getConnection();
// pstmt 对象
pstmt = con.prepareStatement(sql);
// 获取图片流
InputStream in = App_text.class.getResourceAsStream("7.jpg");
pstmt.setBinaryStream(1, in); // 执行保存图片
pstmt.execute(); // 关闭
in.close(); } catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtil.closeAll(con, pstmt, null);
}
} @Test
// 2. 读取大文本数据类型 ( 读longblob)
public void testGetAsText() {
String sql = "select img from test where id=2;";
try {
// 连接
con = JdbcUtil.getConnection();
// pstmt 对象
pstmt = con.prepareStatement(sql);
// 读取
rs = pstmt.executeQuery();
if (rs.next()) {
// 获取图片流
InputStream in = rs.getBinaryStream("img");
// 图片输出流
FileOutputStream out = new FileOutputStream(new File("c://1.jpg"));
int len = -1;
byte b[] = new byte[1024];
while ((len = in.read(b)) != -1) {
out.write(b, 0, len);
}
// 关闭
out.close();
in.close();
} } catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtil.closeAll(con, pstmt, null);
}
}
}
package com.loaderman.demo.e_longtext;
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement; import com.loaderman.demo.utils.JdbcUtil;
import org.junit.Test; public class App_text { // 全局参数
private Connection con;
private Statement stmt;
private PreparedStatement pstmt;
private ResultSet rs; @Test
// 1. 保存大文本数据类型 ( 写longtext)
public void testSaveText() {
String sql = "insert into test(content) values(?)";
try {
// 连接
con = JdbcUtil.getConnection();
// pstmt 对象
pstmt = con.prepareStatement(sql);
// 设置参数
// 先获取文件路径
String path = App_text.class.getResource("tips.txt").getPath();
FileReader reader = new FileReader(new File(path));
pstmt.setCharacterStream(1, reader); // 执行sql
pstmt.executeUpdate(); // 关闭
reader.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtil.closeAll(con, pstmt, null);
}
} @Test
// 2. 读取大文本数据类型 ( 读longtext)
public void testGetAsText() {
String sql = "select * from test;";
try {
// 连接
con = JdbcUtil.getConnection();
// pstmt 对象
pstmt = con.prepareStatement(sql);
// 读取
rs = pstmt.executeQuery();
if (rs.next()) {
// 获取长文本数据, 方式1:
//Reader r = rs.getCharacterStream("content"); // 获取长文本数据, 方式2:
System.out.print(rs.getString("content"));
} } catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtil.closeAll(con, pstmt, null);
}
}
}
Jdbc中大文本类型的处理的更多相关文章
- jdbc java数据库连接 11)中大文本类型的处理
		1. Jdbc中大文本类型的处理 Oracle中大文本数据类型, Clob 长文本类型 (MySQL中不支持,使用的是text) Blob 二进制类型 MySQL数据库, Text ... 
- 在SQL中导入Excel数据时强制以文本类型导入
		Excel不是关系型数据库,在导入到sql中时对于数值型,sql有时int型会处理成float,有时数字文本混排的列,sql会认为是数值型,导入的结果有的数据变成了null,但是用sql导出excel ... 
- robotframework文本类型的下拉框
		对于下拉框定位和输入,这里主要遇到有两种类型的下拉选择. 其中一个类型是select-options格式,如图 这种方式的定位可以使用select from list by value或select ... 
- JPQL设置自增长、只读、文本类型等的注解
		JAVA中使用JPQL 一种设置id自动生成,自增长的方法 private long id; @Id @GeneratedValue(generator="_native") @G ... 
- 白鹭引擎 - 文本类型 ( TextField,  )
		1, 普通文本 class Main extends egret.DisplayObjectContainer { public constructor() { super(); this.addEv ... 
- Spring JDBC处理CLOB类型字段
		以下示例将演示使用spring jdbc更新CLOB类型的字段值,即更新student表中的可用记录. student表的结构如下 - CREATE TABLE student( ID INT NOT ... 
- Spring JDBC处理BLOB类型字段
		以下示例将演示使用spring jdbc更新BLOB类型的字段值,即更新student表中的可用记录. student表的结构如下 - CREATE TABLE student( ID INT NOT ... 
- JDBC处理文本和二进制文件
		JDBC支持文本(CLOB)和二进制(BLOB)文件的处理,比如要往数据库里存取文章或者图片.这都是用流的思想来解决的. 来两个Demo看看JDBC是怎么操作文本和二进制文件的. CLOB: pack ... 
- robotframework自动化系列:文本类型的下拉框
		对于下拉框定位和输入,这里主要遇到有两种类型的下拉选择. 其中一个类型是select-options格式,如图 这种方式的定位可以使用select from list by value或select ... 
随机推荐
- php生成器yield
			上次说了php的生成器Iterator,这次说一下yield 迭代生成器 (迭代)生成器也是一个函数,不同的是这个函数的返回值是依次返回, 而不是只返回一个单独的值.或者,换句话说,生成器使你能更方便 ... 
- C库函数——字符串转数字整理
			atof(将字符串转换成浮点型数)atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)strtod(将字符串转换成浮点数)strtol(将字符串转换成长整型数)strtoul(将字符串转 ... 
- 9月24日开始发布,主打安全的Librem 5 Linux手机
			曾推出搭载PureOS Linux发行版本Librem笔记本系列的硬件厂商Purism,今天正式宣布了Librem 5 Linux手机的最终和官方发售日期.Librem 5于2017年10月正式发布, ... 
- ELK展示NGINX访问IP地理位置图
			一.设置NGINX日志格式 [root@zabbix_server ~]# vim /etc/nginx/nginx.conf log_format access_json_log '{"@ ... 
- Python 编解码
			字符串编码常用类型:utf-8,gb2312,cp936,gbk等. python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础 ... 
- css 模块化
			什么是css模块化思想?(what) 为了理解css模块化思想,我们首先了解下,什么是模块化,在百度百科上的解释是,在系统的结构中,模块是可组合.分解和更换的单元.模块化是一种处理复杂系统分解成为更好 ... 
- Datasets and Evaluation Metrics used in Recommendation System
			Movielens and Netflix remain the most-used datasets. Other datasets such as Amazon, Yelp and CiteUli ... 
- php的加解密openssl_encrypt与openssl_decrypt
			https://blog.csdn.net/zhemejinnameyuanxc/article/details/83383434 php的加解密 
- pycharm 安装 tensorflow
			1. 安装python 3.5 链接:https://www.python.org/downloads/release/python-352/ 1.1如果之前安装了其他版本的,可以在你需要的项目中, ... 
- 多规格商品SKU 组件封装
			前言 做电商项目呢,离不开多规格商品,SKU 也是弄了许久才搞出来,主要是多层级的联动关系,用ID和库存来判断是否是按钮禁止状态 下面就放下代码: 以封装的小程序为例: WXML: <view ... 
