1.将Blob、Clob类型数据保存到数据库

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement; public class Test4 {
/**
* 将图片、文本保存在数据库
* Blob、Clob
* @author 容杰龙
*/
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/rjl";
String user="rjl";
String password="123";
Connection conn = DriverManager.getConnection(url, user, password);
String sql1="insert into pic(img,msg) values(?,?)"; File file=new File("C:/Users/Rong/Desktop/qq.png");
FileInputStream inputStream = new FileInputStream(file); FileReader reader = new FileReader("C:/Users/Rong/Desktop/msg.txt"); PreparedStatement ps = conn.prepareStatement(sql1);
//字节流-二进制图像
ps.setBlob(1, inputStream);
//字符流
ps.setClob(2, reader);
int count = ps.executeUpdate();
if (count>0) {
System.out.println("添加成功!");
}
} catch (Exception e) {
e.printStackTrace();
} } }

2.从数据库表里读取Blob、Clob类型数据

 package com.rong.web;

 import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet; public class Test5 { /**
* 读取MySQL数据库Blob、Clob类型的数据到硬盘
* @author 容杰龙
*/
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/rjl?user=root&password=123123";
Connection conn = DriverManager.getConnection(url);
String sql="select * from pic where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, 1);
ResultSet rs = ps.executeQuery();
while(rs.next()){
//获取字节输入流
InputStream inputStream = rs.getAsciiStream("img");
//获取字符输入流
Reader reader = rs.getCharacterStream("msg");
byte[] bytes=new byte[1024];
char[] chars=new char[1024];
int len=0;
//创建文件输出流,设置文件存储的硬盘位置
FileOutputStream fos = new FileOutputStream("C:/Users/Administrator/Desktop/jdbc.png");
FileWriter fw = new FileWriter("C:/Users/Administrator/Desktop/jdbc.txt");
//字节输出
while ((len=inputStream.read(bytes))!=-1) {
fos.write(bytes, 0, len);
}
fos.close();
inputStream.close();
len=0;
//字符输出
while ((len=reader.read(chars))!=-1) {
fw.write(chars, 0, len);
}
fw.close();
reader.close(); }
} catch (Exception e) {
e.printStackTrace();
} } }
 package com.rong.web;

 import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.Reader;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet; public class Test6 { /**
* 读取MySQL数据库Blob、Clob类型的数据到硬盘
* @author 容杰龙
*/
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/rjl?user=root&password=123123";
Connection conn = DriverManager.getConnection(url);
String sql="select * from pic where id=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, 1);
ResultSet rs = ps.executeQuery();
while(rs.next()){
//获取blob对象
Blob blob = rs.getBlob("img");
//获取二进制字节输入流
InputStream binaryStream = blob.getBinaryStream();
////////////////////////////////////////////////// //获取clob对象
Clob clob = rs.getClob("msg");
//获取字符输入流
Reader characterStream = clob.getCharacterStream(); byte[] bytes=new byte[1024];
char[] chars=new char[1024];
int len=0;
//创建文件输出流,设置文件存储的硬盘位置
FileOutputStream fos = new FileOutputStream("C:/Users/Administrator/Desktop/jdbc.png");
FileWriter fw = new FileWriter("C:/Users/Administrator/Desktop/jdbc.txt");
//字节输出
/////////////////////////////////
// byte[] bs = rs.getBytes("img");
// fos.write(bs);
////////////////////////////////////
while ((len=binaryStream.read(bytes))!=-1) {
fos.write(bytes, 0, len);
}
fos.close();
binaryStream.close();
len=0;
//字符输出
while ((len=characterStream.read(chars))!=-1) {
fw.write(chars, 0, len);
}
fw.close();
characterStream.close(); }
} catch (Exception e) {
e.printStackTrace();
} } }

jdbc 3.0的更多相关文章

  1. jdbc 4.0新特性

    来自网络 在 Java SE 6 所提供的诸多新特性和改进中,值得一提的是为 Java 程序提供数据库访问机制的 JDBC 版本升级到了 4.0, 这个以 JSR-221 为代号的版本 , 提供了更加 ...

  2. Java SE 6 新特性: Java DB 和 JDBC 4.0

    http://www.ibm.com/developerworks/cn/java/j-lo-jse65/index.html 长久以来,由于大量(甚至几乎所有)的 Java 应用都依赖于数据库,如何 ...

  3. 请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库

    转载请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库 1.下载最新的JDBC(2012/3/6) http://www.microsoft.com/downloads/zh-cn/de ...

  4. java web项目部署到tomcat 8.5 此驱动程序不支持 Java Runtime Environment (JRE) 1.8 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库

    1:项目使用的是jre1.8版本. 2:服务器 apache-tomcat-8.5.23 报错如下: 严重 [com.mchange.v2.async.ThreadPoolAsynchronousRu ...

  5. JDBC 4.0 开始Java操作数据库不用再使用 Class.forName加载驱动类了

    JDBC 4.0 开始Java操作数据库不用再使用 Class.forName加载驱动类了 代码示例 转自 https://docs.oracle.com/javase/tutorial/jdbc/o ...

  6. Java数据库——JDBC 2.0操作

    可滚动的结果集 让结果集滚动起来 //================================================= // File Name : JDBC20_demo //-- ...

  7. jdbc 6.0

    1.获取数据库自动生成的键值 package com.rong.jielong; import java.sql.Connection; import java.sql.DriverManager; ...

  8. jdbc 5.0

    1.事务 事务将单个SQL语句或一组SQL语句视为一个逻辑单元,如果任何语句失败,整个事务将失败. jdbc的MySQL驱动程序中的事务默认是自动提交. 默认情况下,每个SQL语句在完成后都会提交到数 ...

  9. jdbc 4.0

    1.存储MySQL数据库的date.time.timestamp.datetime以及year类型数据 package com.rong.jielong; import java.sql.Connec ...

随机推荐

  1. scala 时间格式转换(String、Long、Date)

    1)scala 时间格式转换(String.Long.Date) 1.时间字符类型转Date类型 [java] view plain copy import java.text.SimpleDateF ...

  2. 20155327 嵌入式C语言课堂补交

    嵌入式C语言 题目要求 在作业本上完成附图作业,要认真看题目要求. 提交作业截图 作弊本学期成绩清零(有雷同的,不管是给别人传答案,还是找别人要答案都清零) 题目分析 分析一:提取插入时间 根据老师上 ...

  3. PANIC: HOME is defined but could not find Nexus_4_API_22.ini file in $HOME/.android/avd (Note: avd is searched in the order of $ANDROID_AVD_HOME,$ANDROID_SDK_HOME/.android/avd and $HOME/.android/avd)

    sudo cp /root/.android/avd/*.ini  $Home/.android/avd/ sudo cp -r  /root/.android/avd/*.avd  $Home/.a ...

  4. 【转载】C++资源之不完全导引

    1,前言 无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈.Stan Lippman先生曾在<C++ Primer>一书中指出“C++是最为难学的 ...

  5. Spring Cloud搭建微服务架构----文章汇总

    Spring Cloud搭建微服务架构----前言 原文地址:https://my.oschina.net/u/1000241/blog/882929 Spring Cloud搭建微服务架构----使 ...

  6. ESP8266 station模式下建立client、server TCP连接

    程序实现内容: 1.在station模式下,ESP8266作为client.server进行TCP连接2.实现数据的发送.接收(同时回传)实现思路:TCP网络通信分层为:应用层.网络层.数据链路层.物 ...

  7. JY播放器【QQ音乐破解下载】

    今天给大家带来一款神器----JY播放器.可以直接下载QQ音乐的歌曲. 目前已经支持平台(蜻蜓FM.喜马拉雅FM.网易云音乐.QQ音乐) 使用方法: 在网页打开QQ音乐网站找到你要听的歌曲或歌单.复制 ...

  8. POJ-3273(二分)

    //题意:给出农夫在n天中每天的花费,要求把这n天分作m组, //每组的天数必然是连续的,要求分得各组的花费之和应该尽可能地小,最后输出各组花费之和中的最大值. //思路:看到各组最小和最大的,果断上 ...

  9. Keepalived两节点出现双VIP的情况

    一.现象 安装有keepalived的两节点服务器10.11.4.186/187,主要做高可用,设定VIP10.11.4.185. 首先启动10.11.4.186的keepalived服务,服务启动正 ...

  10. Paper Reading - Mind’s Eye: A Recurrent Visual Representation for Image Caption Generation ( CVPR 2015 )

    Link of the Paper: https://ieeexplore.ieee.org/document/7298856/ A Correlative Paper: Learning a Rec ...