JavaEE项目实战(OA系统)之八_部门管理之二
2016-09-10 09:41
549 查看
JavaEE项目实战(OA系统)之八_部门管理之二
二、数据访问层
数据访问层先写接口再写实现类,包结构如下:
接口:
增删改查方法的第一句代码都是先取得session。session是Hibernate中类似于数据库连接的概念,每次先取连接,再执行相应方法。
查询方法有两个,一个是根据id查找单个对象,一个是查找所有对象,返回列表。
根据id查找单个对象,一般使用get方法,参数1是实体类的class,参数2是id。
查找所有对象,一般使用Query对象,Query对象是Hibernate是专用于查询的对象,使用Hibernate专用的HQL语言进行查询。
二、数据访问层
数据访问层先写接口再写实现类,包结构如下:
接口:
public interface DeptDao { void add(Dept dept); void del(int id); void update(Dept dept); Dept getById(int id); List<Dept> getAll(); }实现类(实现类放在impl子包中,命名为“接口类名”+Impl):
// 数据访问层 @Repository public class DeptDaoImpl implements DeptDao { @Resource private SessionFactory sessionFactory; // session工厂对象 @Override public void add(Dept dept) { Session session = sessionFactory.getCurrentSession(); session.save(dept); } @Override public void del(int id) { Session session = sessionFactory.getCurrentSession(); Dept dept = this.getById(id); session.delete(dept); } @Override public void update(Dept dept) { Session session = sessionFactory.getCurrentSession(); session.update(dept); } @Override public Dept getById(int id) { Session session = sessionFactory.getCurrentSession(); return (Dept) session.get(Dept.class, id); } @SuppressWarnings("unchecked") @Override public List<Dept> getAll() { Session session = sessionFactory.getCurrentSession(); Query query = session.createQuery("from Dept"); return (List<Dept>) query.list(); } // getter & setter public 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语言进行查询。
相关文章推荐
- JavaEE项目实战(OA系统)之十四_员工管理之二
- JavaEE项目实战(OA系统)之十一_部门管理之五
- JavaEE项目实战(OA系统)之十_部门管理之四
- JavaEE项目实战(OA系统)之九_部门管理之三
- JavaEE项目实战(OA系统)之七_部门管理之一
- JavaEE项目实战(OA系统)之十二_部门管理之六
- JavaEE项目实战(OA系统)之十三_员工管理之一
- JavaEE项目实战(OA系统)之十七_ztree之二
- JavaEE项目实战(OA系统)之二_数据库设计
- JavaEE项目实战(OA系统)之十五_员工管理之四
- JavaEE项目实战(OA系统)之十九_流程审批之二
- JavaEE项目实战(OA系统)之十四_员工管理之三
- JavaEE项目实战(OA系统)之五_三大框架整合之二
- JavaEE项目实战(OA系统)之十八_流程审批之一
- JavaEE项目实战(OA系统)之二十_流程审批之三
- JavaEE项目实战(OA系统)之四_三大框架整合之一
- JavaEE项目实战(OA系统)之六_三大框架整合之三
- JavaEE项目实战(OA系统)之十六_ztree之一
- JavaEE项目实战(OA系统)之一_软件需求
- JavaEE项目实战(OA系统)之三_数据库实现