CRUD :
Create 增加 Retrieve 读取(重新获得数据) Update 更新 Delete 删除
PersonDao的实现如下:
package com.baowei.dao; import java.util.List; import org.hibernate.Session; import com.baowei.entity.Person; import com.baowei.utils.HibernateUtil; public class PersonDao { public void save(Person person) { Session session = null; try { session = HibernateUtil.openSession(); session.getTransaction().begin(); session.save(person); session.getTransaction().commit(); } catch (Exception e) { if (session != null) session.getTransaction().rollback(); throw new RuntimeException(e); } finally { if (session != null) { HibernateUtil.close(session); } } } public void update(Person person) { Session session = null; try { session = HibernateUtil.openSession(); session.getTransaction().begin(); session.update(person); session.getTransaction().commit(); } catch (Exception e) { if (session != null) session.getTransaction().rollback(); throw new RuntimeException(e); } finally { if (session != null) { HibernateUtil.close(session); } } } public void delete(Person person) { Session session = null; try { session = HibernateUtil.openSession(); session.getTransaction().begin(); session.delete(person); session.getTransaction().commit(); } catch (Exception e) { if (session != null) session.getTransaction().rollback(); throw new RuntimeException(e); } finally { if (session != null) { HibernateUtil.close(session); } } } public Person findById(int id) { Session session = null; Person person = null; try { session = HibernateUtil.openSession(); session.getTransaction().begin(); person = (Person) session.get(Person.class, id); session.getTransaction().commit(); return person; } catch (Exception e) { throw new RuntimeException(e); } finally { if (session != null) session.getTransaction().rollback(); if (session != null) { HibernateUtil.close(session); } } } public List findAll() { Session session = null; List persons = null; try { session = HibernateUtil.openSession(); session.getTransaction().begin(); persons = session.createQuery("from Person").list(); // persons = session.createSQLQuery("select * from person").list(); session.getTransaction().commit(); return persons; } catch (Exception e) { if (session != null) session.getTransaction().rollback(); throw new RuntimeException(e); } finally { if (session != null) { HibernateUtil.close(session); } } } public List page(int firstResult, int maxResults) { Session session = null; List persons = null; try { session = HibernateUtil.openSession(); session.getTransaction().begin(); persons = session.createQuery("from Person") .setFirstResult(firstResult).setMaxResults(maxResults) .list(); // persons = session.createSQLQuery("select * from person").list(); session.getTransaction().commit(); return persons; } catch (Exception e) { if (session != null) session.getTransaction().rollback(); throw new RuntimeException(e); } finally { if (session != null) { HibernateUtil.close(session); } } } }