JavaEE项目实战(OA系统)之八_部门管理之二

来源:互联网 发布:c语言do while循环 编辑:程序博客网 时间:2024/04/28 06:20

  JavaEE项目实战(OA系统)之八_部门管理之二

  二、数据访问层

  数据访问层先写接口再写实现类,包结构如下:


  接口:

public interface DeptDao {void add(Dept dept);void del(int id);void update(Dept dept);Dept getById(int id);List<Dept> getAll();}
  实现类(实现类放在impl子包中,命名为“接口类名”+Impl):

// 数据访问层@Repositorypublic class DeptDaoImpl implements DeptDao {@Resourceprivate SessionFactory sessionFactory; // session工厂对象@Overridepublic void add(Dept dept) {Session session = sessionFactory.getCurrentSession();session.save(dept);}@Overridepublic void del(int id) {Session session = sessionFactory.getCurrentSession();Dept dept = this.getById(id);session.delete(dept);}@Overridepublic void update(Dept dept) {Session session = sessionFactory.getCurrentSession();session.update(dept);}@Overridepublic Dept getById(int id) {Session session = sessionFactory.getCurrentSession();return (Dept) session.get(Dept.class, id);}@SuppressWarnings("unchecked")@Overridepublic List<Dept> getAll() {Session session = sessionFactory.getCurrentSession();Query query = session.createQuery("from Dept");return (List<Dept>) query.list();}// getter & setterpublic SessionFactory getSessionFactory() {return sessionFactory;}public void setSessionFactory(SessionFactory sessionFactory) {this.sessionFactory = sessionFactory;}}
  Hibernate4的DAO类代码已经很简单了,只需几行代码就可以完成各种操作,这是由于Hibernate会辅助我们生成sql语句,程序运行时,可以在控制台看到生成的sql语句。

  增删改查方法的第一句代码都是先取得session。session是Hibernate中类似于数据库连接的概念,每次先取连接,再执行相应方法。

  查询方法有两个,一个是根据id查找单个对象,一个是查找所有对象,返回列表。

  根据id查找单个对象,一般使用get方法,参数1是实体类的class,参数2是id。

  查找所有对象,一般使用Query对象,Query对象是Hibernate是专用于查询的对象,使用Hibernate专用的HQL语言进行查询。

0 0
原创粉丝点击