例子:
@RequestMapping("/purch.action")
public String purch(Model model, String id, HttpSession httpsession) {
// 拿到session中的user
User user = (User) httpsession.getAttribute("user");
// 先登录 才能购买
if (httpsession.getAttribute("user") == null) {
model.addAttribute("message", "please login before but the ticket!");
return "redirect:/purcherr.jsp";
}
// 开启数据库获得session tx
Session session = HibernateUtil.openSession();
Transaction tx = session.beginTransaction();
// 拿到数据库中当前用户的cno
String sqlgetcno = "select * from user where username = ?";
SQLQuery sqlQuerycno = session.createSQLQuery(sqlgetcno);
sqlQuerycno.setString(0, user.getUsername());
sqlQuerycno.addEntity(User.class);
user = (User) sqlQuerycno.list().get(0);
if (user.getCno() == null) {
user.setCno(id);
} else {
String cno = user.getCno() + "," + id;
user.setCno(cno);
}
String sql = "update user set cno=? where username=?";
SQLQuery sqlQuery = session.createSQLQuery(sql);
sqlQuery.setString(0, user.getCno());
sqlQuery.setString(1, user.getUsername());
sqlQuery.executeUpdate();
tx.commit();
model.addAttribute("message", id);
return "redirect:/purchsuccess.jsp";
}
第一步:写sql
第二步:
SQLQuery sqlQuery = session.createSQLQuery(sql);
sqlQuery.setString(0, user.getCno());
sqlQuery.setString(1, user.getUsername());
第三步:执行
sqlQuery.executeUpdate();