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
- JavaEE项目实战(OA系统)之八_部门管理之二
- JavaEE项目实战(OA系统)之九_部门管理之三
- JavaEE项目实战(OA系统)之十_部门管理之四
- JavaEE项目实战(OA系统)之十一_部门管理之五
- JavaEE项目实战(OA系统)之十二_部门管理之六
- JavaEE项目实战(OA系统)之七_部门管理之一
- JavaEE项目实战(OA系统)之十四_员工管理之二
- JavaEE项目实战(OA系统)之十四_员工管理之三
- JavaEE项目实战(OA系统)之十五_员工管理之四
- JavaEE项目实战(OA系统)之五_三大框架整合之二
- JavaEE项目实战(OA系统)之十九_流程审批之二
- JavaEE项目实战(OA系统)之二十_流程审批之三
- JavaEE项目实战(OA系统)之二十一_流程审批之四
- JavaEE项目实战(OA系统)之十三_员工管理之一
- JavaEE项目实战(OA系统)之二_数据库设计
- JavaEE项目实战(OA系统)之六_三大框架整合之三
- JavaEE项目实战(OA系统)之三_数据库实现
- JavaEE项目实战(OA系统)之四_三大框架整合之一
- MAC 创建 /home 文件夹
- 《UNIX网络编程》第一章——一个简单的时间获取客户端/服务器程序
- Android 完美实现图片圆角和圆形(Xfermode,重写View)
- centOS yum安装mysql
- oracle数据库学习
- JavaEE项目实战(OA系统)之八_部门管理之二
- ElasticSearch Tips
- Primer Plus 12章课后编程练习 5
- 谈谈UI架构设计的演化mvc-mvp-mvvm
- Shell中的while循环
- QTimer定时器的使用
- 什么情况下的网站不适宜转载内容?
- 4-Files and Directories
- iOS - 正则表达:NSRegularExpression的用法