public class ***{
private Connection con = null;
private PreparedStatement ps = null;
private ResultSet rs = null;
private String update = “update user set username=?,password=?,age=?,power=?,time=?,online=? where userid=?”;
public int update(user t) {
// TODO Auto-generated method stub
int a = 0;
try {
con = DbUtil.getConnection();
ps = con.prepareStatement(update);
ps.setString(1, t.getUsername());
ps.setString(2, t.getPassword());
ps.setString(3, t.getAge());
ps.setString(4, t.getPower());
ps.setString(5, t.getTime());
ps.setBoolean(6, t.isOnline());
ps.setInt(7, t.getUserid());
a = ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DbUtil.close(con, ps, rs);
}
return a;
}
}
由于图片读取出是二进制,和其他的字段不一样,所以这里就写两个获取值方法,一起获取值到jsp。
Servlet
获取其他字段值
public void updateJump(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String userid = request.getParameter(“userid”);获取数据的id
user user = userServlrt.findByUser(Integer.parseInt(userid));
JSONObject jsonObject = new JSONObject();用json传送数据到jsp页面的回填的 模态框
jsonObject.put(“user”, user);参数
response.getWriter().write(jsonObject.toString());
}
获取图片
public void findImage(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String userid = request.getParameter(“userid”);
user user = userServlrt.findByimage(Integer.parseInt(userid));
InputStream in = null;声明输入流
try {
Blob blob = user.getImage();用blob类型接受数据
in = blob.getBinaryStream();转换为二进制流
byte[] by = new byte[in.available()];放入byte数组,获取二进制的长度
in.read(by, 0, by.length);
response.getOutputStream().write(by);输出图片
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
in.close();
request.setAttribute(“user”, user);
}