1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】

jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】

时间:2022-12-26 22:47:48

相关推荐

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);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。