关于使用简单的hibernate框架实现更新操作的问题,求助!!!

双人鱼XKQ 发布于 2012/12/28 21:14
阅读 1K+
收藏 0

   能描述:hibernate中 的更新的操作。

    如图是用  hql语句从数据库中得到了所有的user用户的信息的列表,红色的时超链接,

现在删除的功能实现了,

更新的操作不会 做。老师给了代码,自己没有 看懂,帮忙看看,谢谢,非常感谢,还望能及时回答。  

***********************************

show.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>用户列表页面</title>
<script>
function del(pk) {
if (pk > 0) {
if (confirm("确认吗?")) {
location.href = "delUserAction?pk=" + pk;
}
}
}
function get(id) {
location.href = "getUserId?id=" + id;
}
</script>
</head>
<body>
<s:iterator value="listUser" var="user">
<s:property value="#user.username" />,
<s:property value="#user.email" />,
<s:property value="#user.createdate" />,
<a href="javascript:del(<s:property value="#user.id" />)">删除</a>
<a href="javascript:get(<s:property value="#user" />)">修改</a>
<hr />
</s:iterator>
<br>
</body>
</html>

*****************************
UserDao.java


package com.tc.dao;


import java.util.ArrayList;
import java.util.List;


import org.hibernate.Session;
import org.hibernate.Transaction;


import util.HibernateUtil;


import com.tc.beans.User;


public class UserDao {
// 增加
public User saveUser(User user) {
// 得到会话对象
Session session = HibernateUtil.getSessionFactory().openSession();
// 开启事务
Transaction tr = session.beginTransaction();
// 增加
session.save(user);
// 提交事务
tr.commit();
// 关闭session
session.close();
// 返回User
return user;
}


// 得到数据库用户列表
public List<User> getUserList(User user) {
// 创建一个集合,保存用户列表
List<User> list = new ArrayList<User>();
// 得到session对象
Session session = HibernateUtil.getSessionFactory().openSession();
// 开启事务
Transaction tr = session.beginTransaction();


// 创建HQL语句
String hql = "from  User";
// 得到数据库中的集合
list = session.createQuery(hql).list();


// 提交事务
tr.commit();
// 关闭session
session.close();
// 返回集合
return list;
}


// 删除
public int delUser(int pk) {
// 得到session对象
Session session = HibernateUtil.getSessionFactory().openSession();
// 开启事务s
Transaction tr = session.beginTransaction();


// 创建hql语句
String hql = "delete from User  u where u.id=:pk";
// 执行sql语句
int log = session.createQuery(hql).setParameter("pk", pk)
.executeUpdate();
// 提交事务
tr.commit();
// 关闭session
session.close();
// 返回影响行数
return log;
}


// 根据ID查询
public User getUserInfo(User user) {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();


User userDB = (User) session.get(User.class, user.getId());


System.out.println(userDB);


userDB.setEmail(user.getEmail());
userDB.setUsername(user.getUsername());


tx.commit();
session.close();


return user;
}


// 修改
public User updateUser(User user) {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction tx = session.beginTransaction();


session.update(user);


tx.commit();
session.close();


return user;
}
}


*********************************

AddUserAction .java


package com.tc.action;


import java.util.List;


import com.opensymphony.xwork2.ActionSupport;
import com.tc.beans.User;
import com.tc.services.IUserServices;
import com.tc.services.impl.UserServicesImpl;


public class AddUserAction extends ActionSupport {
/**

*/
private static final long serialVersionUID = 7759536522533554600L;
// 接收表单用户注册参数
private User user;
private List<User> listUser;
private int pk;
private int id;




public int getId() {
return id;
}


public void setId(int id) {
this.id = id;
}




public int getPk() {
return pk;
}


public void setPk(int pk) {
this.pk = pk;
}


public List<User> getListUser() {
return listUser;
}


public void setListUser(List<User> listUser) {
this.listUser = listUser;
}


public User getUser() {
return user;
}


public void setUser(User user) {
this.user = user;
}


// 增加
public String add() {
IUserServices iUserServices = new UserServicesImpl();
iUserServices.saveUser(user);
return SUCCESS;
}


// 得到数据库用户列表
public String getUserList() {
IUserServices iUserServices = new UserServicesImpl();
// 得到集合
listUser = (List<User>) iUserServices.getUserList(user);
return SUCCESS;
}


// 删除
public String delUser() {
IUserServices iUserServices = new UserServicesImpl();
int log = iUserServices.delUser(pk);
return SUCCESS;
}


// 根据ID查询
public String getUserInfo() {
IUserServices iUserServices = new UserServicesImpl();
user=  iUserServices.getUserInfo(user);
return SUCCESS;
}


// 更新
public String updateUser() {
IUserServices iUserServices = new UserServicesImpl();
iUserServices.updateUser(user);
return SUCCESS;
}
}


返回顶部
顶部