您的位置:首页 > 其它

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

2012-06-19 14:58 369 查看
在上面几篇BLOG中我们分别简单的讲述了hibernate是如何进行CRUD的。
这篇我们将这些综合起来分别操作一下:目的是将他们总结备份一下、请看代码:
一、	设计拿到session的类HibernateUtils
public 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;
	
	//面向对象的查询方法QueryByCriteria
	public 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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: