jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】
JDBC-向數(shù)據(jù)庫中存入讀取圖片
注:此代碼依賴自定義的數(shù)據(jù)庫連接工具類
1.向數(shù)據(jù)庫存入一張照片
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中插入一條數(shù)據(jù)
*/
//1.連接數(shù)據(jù)庫
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.執(zhí)行sql
ps.execute();
//5.關閉資源
JDBCUtils.closeConnection(con, ps);
}
}
2.從數(shù)據(jù)庫中讀取照片并存到本地文件夾中
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 {
/**
* 從數(shù)據(jù)庫中讀取照片存儲到本地
*/
public static void main(String[] args) throws Exception {
//1.連接數(shù)據(jù)庫
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.執(zhí)行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【向数据库中存入读取图片】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 盘古性格刷固执还是开朗
- 下一篇: 求一个qq英语网名女