jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】
JDBC-向数据库中存入读取图片
注:此代码依赖自定义的数据库连接工具类
1.向数据库存入一张照片
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class BlobTest01 {
public static void main(String[] args) throws Exception {
/**
* 向photo中插入一条数据
*/
//1.连接数据库
Connection con = JDBCUtils.getConnection();
//2.预编译sql语句
String sql = "insert into photo(name,phoFile) values (?,?)";
PreparedStatement ps = con.prepareStatement(sql);
//3.填充占位符
ps.setString(1, "cat");
File file = new File("D:\\testdir\\server\\cat.jpg");
FileInputStream fis = new FileInputStream(file);
ps.setBlob(2, fis);
//4.执行sql
ps.execute();
//5.关闭资源
JDBCUtils.closeConnection(con, ps);
}
}
2.从数据库中读取照片并存到本地文件夹中
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class BlobTest02 {
/**
* 从数据库中读取照片存储到本地
*/
public static void main(String[] args) throws Exception {
//1.连接数据库
Connection con = JDBCUtils.getConnection();
//2.预编译sql语句
String sql = "select `id`,`name`,`phoFile` from photo where name = ?";
PreparedStatement ps = con.prepareStatement(sql);
//3.填充占位符
ps.setString(1, "cat");
//4.执行sql
ResultSet rs = ps.executeQuery();
if (rs.next()){
int id = rs.getInt(1);
String name = rs.getString(2);
Blob photo = rs.getBlob(3);
File file = new File("D:\\testdir\\catpho.jpg");
InputStream fis = photo.getBinaryStream();
FileOutputStream fos = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int len = fis.read(buffer);
while (len != -1){
fos.write(buffer, 0, len);
len = fis.read(buffer);
}
//5.关闭资源
fis.close();
fos.close();
}
JDBCUtils.closeConnection(con, ps, rs);
}
}
jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】相关推荐
- jdbc mysql查询显示图片_在实现JDBC时如何显示存储引擎-MySQL CONNECTION查询?
使用SELECT ENGINE显示存储引擎名称.让我们首先创建一个表-create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREME ...
- mysql查询枚举类型转换_zendframework获取数据库中枚举类enum的数据并将其转换成数组...
在model中建立这样的模型,在其中写入获取枚举类的方法 请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1 class Student extends Zend_ ...
- 数据库直接存图片mysql_教你如何在MySQL数据库中直接储存图片
如果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这篇文章就是为你而写的!我将告诉你怎样通过HTML表单来储存这些文件,怎样访问和使用这些文件. 本文概述: 在 ...
- mysql如何存储图片_教你怎样在MySQL数据库中直接储存图片
欢迎来到小编的文章进行学习阅读,想必大家又有很多问题吧,在这里会有你想要收获的答案,请大家慢慢学习吧!计算机编程语言 如果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据 ...
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> < ...
- 使用mysql查询显示行号
使用mysql查询显示行号,没有像oracle这么方便. 不过也可以通过设定变量显示行号,例如: SELECT @rowno:=@rowno+1 as rowno,r.* from t_article ...
- MySQL查询显示行号
使用mysql查询显示行号: Oracle中有专门的rownum()显示行号的函数,而MySQL没有专门的显示行号函数,但可以通过用@rownum自定义变量显示行号. 主要代码: (@rownum : ...
- MySQL查询时记录行号rownum MySQL查询显示行号MySQL查询显示行号MySQL流水号自MySQL自增行号
MySQL查询时记录行号rownum MySQL查询显示行号MySQL查询显示行号MySQL流水号自MySQL自增行号 一.前言 Oracle中有rownum,实现查询的时候记录行号,MySQL中没有 ...
- 如何录制gif动态图片并在CSDN中插入动态图片
我们在网上浏览别人的博客时,经常可以看到以gif动态图显示的程序效果演示和代码段,那么如何录制gif动态图片并在CSDN中插入动态图片呢? 下面介绍一种简单的方法,了解之后,你也可以将其 ...
最新文章
- soapUi 接口测试
- csgo如何保存自己的cfg_KXCSGO:CSGO开箱饰品交易方法
- 埋点、数仓到中台:数据体系的从0到1
- .net framework 4.0环境下遇到版本不同编译不通过的解决办法
- 【JUC】JDK1.8源码分析之ArrayBlockingQueue(三)
- 真实集群下-flink shell的remote模式实验记录
- 利用photoshop制作gif图片
- C/C assert()函数用法总结与注意事项
- java下文_java实现文件下载的两种方式
- !!统计字符(处理字符串)(getline函数使用)
- 全网首发:GB18030制定者站出来,$为什么要显示为¥,给大家解释一下
- AD555计算机辅助设计,震旦Aurora AD555 驱动
- Vue中点击url下载文件-案例
- Windows和Xyplorer的完美结合
- error: C2338: Type is not registered, please use the Q_DECLARE_METATYPE macro to make it known to Qt
- 用c语言实现三子棋,它来了!!
- android 手机 恢复数据恢复,恢复安卓手机丢失的数据
- 【Axure交互教程】 隐藏页面滚动条的3种方法
- 绑定ZBar的OpenCV条形码和QR码扫描器
- K. chino with c language(水题)
热门文章
- 汇编语言将数据、代码、栈放入不同段基础
- CUDA上的量化深度学习模型的自动化优化
- 三维视觉惯性SLAM的有效Schmidt-EKF
- 【CV】深度学习中Epoch, Batch, Iteration的含义
- Android Intent setAction的使用注意
- No cached version of com.android.tools.build:gradle:2.0.0 available for offline mode.
- Unable to inject views for BcFragment{8d4c0 #1 id=0x7f0d00a1}
- 【shell】创建长目录,目录存在则忽略,缺失则创建
- js设置div透明度
- HTTP协议详解(真的很经典)