Hibernate入门BLOG [四、Hibernate的CRUD简单总结]

来源:互联网 发布:网络主播唱沉默是金 编辑:程序博客网 时间:2024/05/29 19:21
在上面几篇BLOG中我们分别简单的讲述了hibernate是如何进行CRUD的。这篇我们将这些综合起来分别操作一下:目的是将他们总结备份一下、请看代码:一、设计拿到session的类HibernateUtilspublic class HibernateUtils {private static SessionFactory sf;private static Session s;//静态设计模式在初始化的时候加载static{Configuration con = new Configuration();con.configure();sf = con.buildSessionFactory();}//获取对象的方法public static Session getS() {s = sf.openSession();return s;}}二、利用hibernate提供的接口进行CRUD操作:private static Session s = HibernateUtils.getS();private List<User> list;//面向对象的查询方法QueryByCriteriapublic List<User> QueryByCriteria() {Criteria c = s.createCriteria(User.class);c.add(Restrictions.eq("name", "zhanglei"));list = c.list();return list;}//hql的查询方法public List<User> QueryByHql() {String hql = "from User where name=?";Query q = s.createQuery(hql);q.setString(0,"zhanglei");list = q.list();return list;}//通配符的查询方法public List<User> QueryByTongPei() {String tongpei = "from User where name=:m";Query q = s.createQuery(tongpei);q.setString("m", "zhanglei");list = q.list();return list;}//添加用户的方法public void UserAdd() {Transaction tx = s.beginTransaction();User user = new User();user.setName("zhanglei");user.setPass("pass");s.save(user);tx.commit();}//删除用户的方法public void UserDelete() {Transaction tx = s.beginTransaction();User user = (User) s.get(User.class, 1);s.delete(user);tx.commit();}//更新用户的方法public void UserUpdate() {Transaction tx = s.beginTransaction();User user = (User) s.get(User.class, 12);user.setName("zhanglong");s.update(user);tx.commit();}补充:分页的set方法:q.setFirstResult(currentPage);q.setMaxResults(pagesize);