以下为主要实现方法的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); } }