67,512
社区成员
发帖
与我相关
我的任务
分享
public class UserAction extends ActionSupport{
HttpServletRequest request = ServletActionContext.getRequest();
private static SessionFactory sf;
public static void beforeClass() {
sf = new AnnotationConfiguration().configure().buildSessionFactory();
}
public static void afterClass() {
sf.close();
}
public String getUserList(){
Session s = sf.getCurrentSession();
s.beginTransaction();
List list = s.createSQLQuery("select * from user_register").list() ;
request.setAttribute("register",list);
s.getTransaction().commit();
return "getList";
}
}
<c:forEach var="register" items="${register}">
<tr>
<td>${register.id}</td>
<td>${register.username}</td>
<td>${register.email}</td>
<td>${register.phone}</td>
<td>${register.home}</td>
<td><a href="${pageContext.request.contextPath}/user/register!delUser?user.id=${register.id}">删除</a></td>
<td><a href="${pageContext.request.contextPath}/user/register!updateUser?user.id=${register.id}">修改</a></td>
</tr>
</c:forEach>
/*一定要有工具给你自动生成的session工厂(如果你用的IDE是MyEclipse那么在添Hibernate
*将会给你自动生成)。
*/
Session sess = HibernateSessionFactory.getSession();
User u = new User();
u.setName("张三");
u.setAge("18");
.....给属性赋值
sess.save(u); //添加
sess.update(u); //在保存的时候、一定要给User的Id属性赋值更新跟添加的区别就在Id(主键)属性
sess.detele(u); //删除的时候、也要Id属性。
//sess.get()方法返回一个Object对象
User user = sess.get(User.class,u.getId); //根据编号获取一条记录(User.class要查询的类)。
//其中User类名开头字母要大写(就是跟你的javaBean名称一样)——查询全部记录
Query query = sess.CreateQuery("你的hql语句如:from User");
List list = query.list(); //query.list()返回一个list集合
//如果有参数
//String hql = "from User where name = :name ";
//Query query = sess.CreateQuery(hql);
//query.setString("name","张三"); //还有很多中设值参数的方法、自己下去google一下。
//List list = query.list();
String hql ="select u.name,u.age from User u";
List list = query.list();
//当你用对象去接收list集合中的值的时候...嘿嘿!!!
for(int i = 0 ; i <list.size(); i++){
User u = list.get(i); //这句会出错,因为你list集合中存储的是数组不是对象
}