package com.basicSql.scroll_page;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.basicSql.connUtil.Conndb;
public class SavePic {
public static Connection conn = null;
public static PreparedStatement pStmt = null;
/**
* 数据库中加入图片等文件
*/
public static void InsertPic() {
String sql = "insert into teacher(id,name,photo) values(teacher_seq.nextval,?,?)";
try {
conn = Conndb.connOracle();
pStmt = conn.prepareStatement(sql);
pStmt.setString(1, "signma");
// 数据库插入图片/word/excel等
File f = new File("src/pic.jpg");
FileInputStream fis = new FileInputStream(f);
pStmt.setBinaryStream(2, fis, (int) f.length());
int n = pStmt.executeUpdate();
System.out.println(n + "条记录插入");
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
Conndb.pStmtClose(pStmt);
Conndb.closeConn(conn);
}
}
/**
* 从数据库中取出图片等文件
*/
public static void getPic() {
String sql = "select id,name,photo from teacher where id=?";
try {
conn = Conndb.connOracle();
pStmt = conn.prepareStatement(sql);
pStmt.setInt(1, 2);
ResultSet rs = pStmt.executeQuery();
if (rs.next()) {
FileOutputStream fos = new FileOutputStream(new File("abc.jpg"));
InputStream is = rs.getBinaryStream("photo");
byte[] buffer = new byte[4 * 1024];
int length = 0;
while ((length = is.read(buffer)) != -1) {
fos.write(buffer, 0, length);
}
fos.flush();
fos.close();
is.close();
}
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
Conndb.pStmtClose(pStmt);
Conndb.closeConn(conn);
}
}
}