博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jdbc 3.0
阅读量:5319 次
发布时间:2019-06-14

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

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

1 import java.io.File; 2 import java.io.FileInputStream; 3 import java.io.FileReader; 4 import java.sql.Connection; 5 import java.sql.DriverManager; 6 import java.sql.PreparedStatement; 7  8  9 public class Test4 {10     /**11      * 将图片、文本保存在数据库12      * Blob、Clob13      * @author 容杰龙14      */15     public static void main(String[] args) {16         try {17             Class.forName("com.mysql.jdbc.Driver");18             String url="jdbc:mysql://localhost:3306/rjl";19             String user="rjl";20             String password="123";21             Connection conn = DriverManager.getConnection(url, user, password);22             String sql1="insert into pic(img,msg) values(?,?)";23             24             File file=new File("C:/Users/Rong/Desktop/qq.png");25             FileInputStream inputStream = new FileInputStream(file);26             27             FileReader reader = new FileReader("C:/Users/Rong/Desktop/msg.txt");28             29             PreparedStatement ps = conn.prepareStatement(sql1);30             //字节流-二进制图像31             ps.setBlob(1, inputStream);32             //字符流33             ps.setClob(2, reader);34             int count = ps.executeUpdate();35             if (count>0) {36                 System.out.println("添加成功!");37             }38         } catch (Exception e) {39             e.printStackTrace();40         }41 42     }43 44 }
View Code

 

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

1 package com.rong.web; 2  3 import java.io.FileOutputStream; 4 import java.io.FileWriter; 5 import java.io.InputStream; 6 import java.io.Reader; 7 import java.sql.Connection; 8 import java.sql.DriverManager; 9 import java.sql.PreparedStatement;10 import java.sql.ResultSet;11 12 public class Test5 {13 14 15     /**16      * 读取MySQL数据库Blob、Clob类型的数据到硬盘17      * @author 容杰龙18      */19     public static void main(String[] args) {20         try {21             Class.forName("com.mysql.jdbc.Driver");22             String url="jdbc:mysql://localhost:3306/rjl?user=root&password=123123";23             Connection conn = DriverManager.getConnection(url);24             String sql="select * from pic where id=?";25             PreparedStatement ps = conn.prepareStatement(sql);26             ps.setInt(1, 1);27             ResultSet rs = ps.executeQuery();28             while(rs.next()){29                 //获取字节输入流30                 InputStream inputStream = rs.getAsciiStream("img");31                 //获取字符输入流32                 Reader reader = rs.getCharacterStream("msg");33                 byte[] bytes=new byte[1024];34                 char[] chars=new char[1024];35                 int len=0;36                 //创建文件输出流,设置文件存储的硬盘位置37                 FileOutputStream fos = new FileOutputStream("C:/Users/Administrator/Desktop/jdbc.png");38                 FileWriter fw = new FileWriter("C:/Users/Administrator/Desktop/jdbc.txt");39                 //字节输出40                 while ((len=inputStream.read(bytes))!=-1) {41                     fos.write(bytes, 0, len);42                 }43                 fos.close();44                 inputStream.close();45                 len=0;46                 //字符输出47                 while ((len=reader.read(chars))!=-1) {48                     fw.write(chars, 0, len);49                 }50                 fw.close();51                 reader.close();52                 53             }54         } catch (Exception e) {55             e.printStackTrace();56         }57 58     }59 60 }

 

1 package com.rong.web; 2  3 import java.io.FileOutputStream; 4 import java.io.FileWriter; 5 import java.io.InputStream; 6 import java.io.Reader; 7 import java.sql.Blob; 8 import java.sql.Clob; 9 import java.sql.Connection;10 import java.sql.DriverManager;11 import java.sql.PreparedStatement;12 import java.sql.ResultSet;13 14 public class Test6 {15 16     /**17      * 读取MySQL数据库Blob、Clob类型的数据到硬盘18      * @author 容杰龙19      */20     public static void main(String[] args) {21         try {22             Class.forName("com.mysql.jdbc.Driver");23             String url="jdbc:mysql://localhost:3306/rjl?user=root&password=123123";24             Connection conn = DriverManager.getConnection(url);25             String sql="select * from pic where id=?";26             PreparedStatement ps = conn.prepareStatement(sql);27             ps.setInt(1, 1);28             ResultSet rs = ps.executeQuery();29             while(rs.next()){30                 //获取blob对象31                 Blob blob = rs.getBlob("img");32                 //获取二进制字节输入流33                 InputStream binaryStream = blob.getBinaryStream();34                 //35                 36                 //获取clob对象37                 Clob clob = rs.getClob("msg");38                 //获取字符输入流39                 Reader characterStream = clob.getCharacterStream();40                 41                 byte[] bytes=new byte[1024];42                 char[] chars=new char[1024];43                 int len=0;44                 //创建文件输出流,设置文件存储的硬盘位置45                 FileOutputStream fos = new FileOutputStream("C:/Users/Administrator/Desktop/jdbc.png");46                 FileWriter fw = new FileWriter("C:/Users/Administrator/Desktop/jdbc.txt");47                 //字节输出48                 /49 //                byte[] bs = rs.getBytes("img");50 //                fos.write(bs);51                 52                 while ((len=binaryStream.read(bytes))!=-1) {53                     fos.write(bytes, 0, len);54                 }55                 fos.close();56                 binaryStream.close();57                 len=0;58                 //字符输出59                 while ((len=characterStream.read(chars))!=-1) {60                     fw.write(chars, 0, len);61                 }62                 fw.close();63                 characterStream.close();64                 65             }66         } catch (Exception e) {67             e.printStackTrace();68         }69 70     }71 72 }
View Code

 

转载于:https://www.cnblogs.com/57rongjielong/p/7775294.html

你可能感兴趣的文章
arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
查看>>
YTU 2625: B 构造函数和析构函数
查看>>
apache自带压力测试工具ab的使用及解析
查看>>
C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码
查看>>
jenkins搭建
查看>>
C#中使用Split分隔字符串的技巧
查看>>
加固linux
查看>>
IPSP问题
查看>>
10.17动手动脑
查看>>
WPF中Image显示本地图片
查看>>
Windows Phone 7你不知道的8件事
查看>>
实用拜占庭容错算法PBFT
查看>>
java的二叉树树一层层输出,Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历...
查看>>
php仿阿里巴巴,php实现的仿阿里巴巴实现同类产品翻页
查看>>
Node 中异常收集与监控
查看>>
Excel-基本操作
查看>>
面对问题,如何去分析?(分析套路)
查看>>
Excel-逻辑函数
查看>>
面对问题,如何去分析?(日报问题)
查看>>
nodejs vs python
查看>>