增、删、改、查的模板:
// 调用封装类 生成一个session
Session session = HibernateUtils.getSession();
Transaction tx = null;// 声明一个事物
try {
tx = session.beginTransaction();// 开始事务
/**
*放置 增、删、改、查的代码
*/
tx.commit();// 提交事务
} catch (RuntimeException e) {
If(tx != null){
tx.rollback();// 回滚
}
throw e;// 抛出异常
} finally {
session.close();// 释放资源
}
(User为要操作的类对象)
1>保存的代码:session.save(user);
2>更新的代码:session.update(user);
3>删除的代码:session.delete(user);
4>查找一个数据的代码
User user = (User) session.get(User.class, id);
tx.commit();
return user;
5>查询所有数据:
List<User> list = session.createQuery("FROM User").list();
tx.commit();
return List;
返回类型为List<User>.
6>分页查询所有:
分页查询所有:
List<User> list = session.createQuery("From User")//
.setFirstResult(firstResult)//
.setMaxResults(maxResult)//
.list();
// 查询总记录数
Long count = (Long) session
.createQuery("SELECT COUNT(*) FROM User")//
.uniqueResult();
tx.commit();
// 返回结果
return new QueryResult(count.intValue(), list);
返回类型为QueryResult类:
public class QueryResult {
private int count;// 总的记录
private List<?> list;// 一页的数据
public QueryResult(int count, List<?> list) {
this.count = count;
this.list = list;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public List<?> getList() {
return list;
}
public void setList(List<?> list) {
this.list = list;
}
}