在上面几篇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);
Hibernate入门BLOG [四、Hibernate的CRUD简单总结]
最新推荐文章于 2025-12-19 15:39:34 发布
本文通过具体示例介绍了如何使用 Hibernate 进行数据的增删改查(CRUD)。首先设计了一个获取 Session 的工具类 HibernateUtils,然后展示了如何使用 Hibernate 的 API 实现面向对象的查询、HQL 查询及通配符查询等不同查询方式,并提供了添加、删除和更新用户的具体实现。
112

被折叠的 条评论
为什么被折叠?



