JDBC中保存/读取长二进制(LONGBLOB)数据类型
package jdbc;import java.io.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class Demo04 {private InputStream is;private FileOutputStream fos;// 保存长二进制(LONGBLOB)数据类型public void saveImage() {String sql = "insert into test(img) values(?)";try (// 1. 获取数据库连接Connection conn = JDBCUtils.getConnection();// 2. 预编译 SQL 语句PreparedStatement pstmt = conn.prepareStatement(sql);// 3. 传入参数// 3.1 获取图片输入流InputStream is = Demo04.class.getClassLoader().getResourceAsStream("Tree.jpg");) {// 3.2 传参pstmt.setBinaryStream(1, is);// 4. 执行 SQL 语句pstmt.executeUpdate();} catch (IOException | SQLException e) {e.printStackTrace();}}// 读取长二进制(LONGBLOB)数据类型public void getAsImage() throws IOException {String sql = "select * from test where id = 1;";try (// 1. 获取数据库连接Connection conn = JDBCUtils.getConnection();// 2. 预编译 SQL 语句PreparedStatement pstmt = conn.prepareStatement(sql);// 3. 执行 SQL 语句ResultSet rs = pstmt.executeQuery();) {// 4. 从结果集对象中读取数据if (rs.next()) {// 4.1 获取图片输入流is = rs.getBinaryStream("img");// 4.2 创建图片输出流fos = new FileOutputStream(new File("tree.jpg"));// 4.3 实际读取到的数据长度int len = 0;// 4.3 使用byte[]数组来盛装数据byte[] bytes = new byte[1024];while((len = is.read(bytes)) != -1) {fos.write(bytes, 0, len);}}} catch (SQLException | IOException e) {e.printStackTrace();} finally {if (is != null) {is.close();}if (fos != null) {fos.close();}}}public static void main(String[] args) throws IOException {Demo04 demo04 = new Demo04();demo04.saveImage();demo04.getAsImage();}
}
JDBC中保存/读取长二进制(LONGBLOB)数据类型相关推荐
- cookie的细节——1.一次可不可以发送多个cookie?2. cookie在浏览器中保存多长时间?3. cookie能不能存中文?4. cookie共享问题?
cookie的细节 1. 一次可不可以发送多个cookie? * 可以 * 可以创建多个Cookie对象,使用response调用多次addCookie方法发送cookie即可. 2. ...
- JDBC中事务、批量操作、大数据类型、获取自动生成的主键、等用法
1 事务的用法 事务的ACID属性: 通俗的说事务:指一组操作,要么都成功执行,要么都不执行-->原子性在所有的操作没有执行完毕之前,其他会话不能够看到中间改变的过程-->隔离性事务发生前 ...
- java中char占的二进制,java数据类型与二进制详细介绍
java数据类型与二进制详细介绍 在java中 Int 类型的变量占 4个字节 Long 类型的变量占8个字节 一个程序就是一个世界,变量是这个程序的基本单位. Java基本数据类型 1. 整数类型 ...
- 读取azkaban数据库中的longblob数据类型
介绍 当需要读取azkaban数据库中的longblob数据类型的数据时,可以使用Java连接Mysql数据库的方式进行读取. 代码 代码如下: public String getErrorLog() ...
- sparksql 保存点_Spark(十二)【SparkSql中数据读取和保存】
一. 读取和保存说明 SparkSQL提供了通用的保存数据和数据加载的方式,还提供了专用的方式 读取:通用和专用 保存 保存有四种模式: 默认: error : 输出目录存在就报错 append: 向 ...
- jdbc读取mysql时分秒yyyy-mm-dd hh:_[转]JDBC中日期时间的处理技巧
Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...
- Spark _24 _读取JDBC中的数据创建DataFrame/DataSet(MySql为例)(三)
两种方式创建DataSet 现在数据库中创建表不能给插入少量数据. javaapi: package SparkSql;import org.apache.spark.SparkConf; impor ...
- 微信小程序中如何将数据保存到内存中并且读取的同步写法
前言 微信小程序保存到内存中有两种方法,一种是同步一种是异步,两个方法有着独特的用处,在小程序控制台中的Storage中可以查看保存到内存中的数据. 保存到内存中也就是我们平常说的本地存储,有一个内存 ...
- jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】
JDBC-向数据库中存入读取图片 注:此代码依赖自定义的数据库连接工具类 1.向数据库存入一张照片 import java.io.File; import java.io.FileInputStrea ...
最新文章
- FastJson乱序问题
- nginx通过用户和密码来实现认证功能
- language support图标在哪里?怎么消失了?
- 全职带孩子可能会面临哪些问题?
- 做测试开发半年涨薪20W入职名企大厂,这位90后凭什么?
- 编译OpenJDK12:freetypeScaler.obj error LINK2019 无法解析的外部符号
- dual mysql 获取序列_FASTJSON反序列化和构造函数之间的一点小秘密
- 如何解决It's likely you're attempting to run Eclipse using the JRE instead of the JDK
- 软件测试中期答辩,中期答辩材料创新张颖
- Branch Prediction Is Not A Solved Problem:Measurements, Opportunities, and Future Directions(IISWC)
- 亚马逊服务器443端口开放配置aws
- 怎么查二手小米手机价格
- HTML px em pt长度单位(像素 相对长度 点)
- 百度静态网站全站搜索功能
- Server 2008改成个人习惯的配置
- 【tableau】4个基本图表
- springboot源码编译
- 拆车、炸机、毁魔方,这个疯狂的算法竞赛少年目的是这样的…
- Oracle 11g RAC 原地升级到 19c
- EZ 2018 05 06 NOIP2018 慈溪中学集训队互测(五)
热门文章
- [日推荐]『爱情保鲜计』来呀,虐狗呀!
- Redis-五种数据类型
- 取消ingress-nginx的nginx版本号
- 05 - 循环练习题
- 隐藏、显示<tr><td>标签
- nginx 同域名同端口多种不同路径的用法
- 北华航天工业学院计算机科学与技术,北华航天工业学院计算机科学与工程系介绍...
- iOS 之苹果运行机制总结
- 韦东山uboot_内核_根文件系统学习笔记4.4-第004课_根文件系统-第004节_构建根文件系统之构建根文件系统
- bing.com 重定向次数过多