增、刪、改、查的模板:
// 調用封裝類 生成一個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;
}
}