JDBC学习笔记(三)大文本数据的读写

一、用JDBC向数据库插入大文本数据

String sql = "insert into my_clob values (null, ?)";
ps = conn.prepareStatement(sql);
File f = new File("D:\\BaiduNetdiskDownload\\mysql\\jdbc.sql");
Reader reader = new BufferedReader(new FileReader(f));
ps.setCharacterStream(1, reader , f.length());
int res = ps.executeUpdate();
System.out.println(res);
reader.close();

二、从数据库读取大文本数据写入到文件中

方式一:直接把数据保存到字符串中

String big_text = rs.getString("bit_text");
File f = new File("D:\\BaiduNetdiskDownload\\mysql\\jdbc.bak.sql");
Writer wt = new FileWriter(f);
wt.write(big_text);
wt.close();

方式二:通过ResultSet对象rs获取输入流读取数据,创建输出流写到文件

Reader rd = rs.getCharacterStream("bit_text");
File f = new File("D:\\BaiduNetdiskDownload\\mysql\\jdbc.bak.sql");
Writer wt = new FileWriter(f);
char[] buff = new char[1024];int i = 0;while ((i = rd.read(buff)) != -1){  wt.write(buff, 0, i);}
                wt.close();rd.close();

方式三、通过Clob对象获取输入流

cb = rs.getClob("bit_text");Reader rd = cb.getCharacterStream();
File f = new File("D:\\BaiduNetdiskDownload\\mysql\\jdbc.bak.sql");Writer wt = new FileWriter(f);char[] buff = new char[1024];int i = 0;while ((i = rd.read(buff)) != -1){  wt.write(buff, 0, i);}
                wt.close();rd.close();
时间: 2024-08-04 08:37:26

JDBC学习笔记(三)大文本数据的读写的相关文章

JDBC学习笔记三

复习和练习 复习部分 一.获取数据库连接 1)方式一 1 // 获取数据库连接 2 @Test 3 public void testGetConnection() throws Exception { 4 // 1.准备获取连接的四个字符串:user,jdbcurl,password,driverClass 5 String user = "root"; 6 String password = "123456"; 7 String jdbcUrl = "j

tensorflow学习笔记三:实例数据下载与读取

深度学习的入门实例,一般就是mnist手写数字分类识别,因此我们应该先下载这个数据集. tensorflow提供一个input_data.py文件,专门用于下载mnist数据,我们直接调用就可以了,代码如下: import tensorflow.examples.tutorials.mnist.input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) 执行完成后,会在当前目录下新建一个文件夹MNI

JDBC学习笔记(三)

获取数据库的元信息metadata,里面有数据库特性的描述信息,如是否支持事务,是否支持批处理等. Connection conn = DriverManager.getConnection(url, userName,passwrod); DatabaseMetaData md = conn,getMetaData(); System.out.println(md.supportTransactions()); 还可以获取参数的metadata: PreparedStatement ps =

jdbc基础 (三) 大文本、二进制数据处理

LOB (Large Objects)   分为:CLOB和BLOB,即大文本和大二进制数据 CLOB:用于存储大文本 BLOB:用于存储二进制数据,例如图像.声音.二进制文件 在mysql中,只有BLOB,没有CLOB,mysql存储大文本用TEXT TEXT  分为:TINYTEXT.TEXT.MEDIUMTEXT和LONGTEXT BLOB 分为:TINYBLOB.BLOB.MEDIUMBLOB和LONGBLOB 取值范围如下图: 下面来看具体的代码实现: 1 package com.cr

Oracle学习笔记三 SQL命令

SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)               下面是这四种SQL语言的详细笔记: Oracle学习笔记三 SQL命令(二):SQL操作语言类别 Oracle数据类型 创建表时,必须为各个列指定数据类型 以下是 Oracle 数据类型的类别: 字符数据类型 CHAR类型 当需要固定长度的字符串时,使用 CHAR 数据类型. CHAR 数据类型存储字母数字值. CH

Ajax学习笔记(三)

三.jQuery库详解 1.使用jQuery之后,javascript操作的不再是HTML元素对应的DOM对象,而是包装DOM对象的jQuery对象.js通过调用jQuery对象的方法来改变它所包装的DOM对象的属性,从而实现动态更新HTML页面. 由此可见,使用jQuery动态更新HTML页面只需以下两个步骤: (1)获取jQuery对象.jQuery对象通常是DOM对象的包装 (2)调用jQuery对象的方法来改变自身.当jQuery对象被改变时,jQuery包装的DOM对象随之改变,HTM

JDBC学习笔记(一)

public static void main(String[] args) { ResultSet rs = null; Statement stmt = null; Connection conn = null; try { /** * 1.加载JDBC驱动程序: * 加载目标数据库驱动到JVM * 成功加载后,会将Driver类的实例注册到DriverManager类 * oracle-Driver:oracle.jdbc.driver.OracleDriver * MySQL-Drive

Python学习笔记_Chapter 6定制数据对象

1. 有用的BIF a. 判断字符串中是否包含子字符串 1 if s_a in s_b: b. pop() 描述:从指定的列表位置删除并返回一个数据项. 1 (sarah_name,sarah_dob)=l_rah.pop(0),l_rah.pop(0) 2 #pop(0)中0位置为list中第一个数据项 3 #第一次执行pop赋值给sarah_name c. strip() 输入的是字符串,返回的是列表 d.open 读文件时可以多种方式打开文件,取出的数据是不同的,可以是文本也可以是二进制.

加壳学习笔记(三)-简单的脱壳思路&调试思路

首先一些windows的常用API: GetWindowTextA:以ASCII的形式的输入框 GetWindowTextW:以Unicaode宽字符的输入框 GetDlgItemTextA:以ASCII的形式的输入框 GetDlgItemTextW:以Unicaode宽字符的输入框 这些函数在使用的时候会有些参数提前入栈,如这函数要求的参数是字符串数目.还有大小写啦之类的东西,这些东西是要在调用该函数之前入栈,也就是依次push,就是说一般前面几个push接着一个call,那前面的push可能