以下为主要实现方法的java代码
StudentDaoImpl.java:
package cn.csdn.web.dao;
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 cn.csdn.web.Util.JdbcUtil;
import cn.csdn.web.domain.Student;
public class StudentDaoImpl implements StudentDao {
private static Connection conn;
private PreparedStatement pstmt;
private ResultSet rs;
public boolean add(Student entity) {
boolean flag = false;
conn = JdbcUtil.getConn();
String sql = "insert into student(id,name,age,picture) values(?,?,?,?)";
try {
pstmt = conn.prepareStatement(sql);
int index=1;
pstmt.setObject(index++, entity.getId());
pstmt.setObject(index++, entity.getName());
pstmt.setObject(index++, entity.getAge());
File file = new File(entity.getPicture());
FileInputStream fis = new FileInputStream(file);
pstmt.setBinaryStream(index++, fis);
int i = pstmt.executeUpdate();
if(i>0){
flag = true;
}
fis.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JdbcUtil.release(rs, pstmt);
return flag;
}
public void find(String name) {
conn = JdbcUtil.getConn();
String sql = "select * from student where name=?";
try {
pstmt = conn.prepareStatement(sql);
int index=1;
pstmt.setObject(index++, name);
rs = pstmt.executeQuery();
while(rs.next()){
InputStream is = rs.getBinaryStream("picture");
File f = new File("res/newGirl.jpg");
FileOutputStream fos = new FileOutputStream(f);
int num = is.available();
byte[] buff = new byte[num];
while(is.read(buff, 0, num)!=-1){
fos.write(buff);
}
is.close();
fos.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JdbcUtil.release(rs, pstmt);
}
}