Java_综合案例DAO设计模式(重要)

软件的分层设计

在实际项目开发中,一个人不可能进行全部项目编写。

在数据库使用上往往会存在这样的尴尬:

  1.需要根据业务的需求设计范式进行数据表的设计

  2.需要考虑到操作中所可能产生的性能的问题,eg:多表查询

  3.传递SQL数据库可以保证数据完整,但不能保证性能,为了方便数据的展示可以使用NO-SQL数据库。(利用JSON(BSON)处理),以NO-SQL数据库为例:MongoDB(数据显示)、Redis(缓存)。NO-SQL大部分都是在Linux环境下发展的。

整个软件开发项目最重要的环节是业务层。

什么叫业务层:

所谓的业务分析就是将操作功能进行拆分为一个个原始的数据库中的原子性操作

现在有以下几个名词:

1.数据层(Data Access Object、DAO、数据访问层、持久层),使用JDBC技术进行数据库的原子性操作,其中为了考虑到安全性的问题都会采用PreparedStatement接口完成处理;

 2. 业务层(习惯称为服务层):要执行多个数据层的操作。在前端操作调用的时候需要执行数据库的若干项操作,每一项的操作都应该有对应的访问提供,以方便业务层进行整合。

实例分析

下面以雇员操作为例做一个分析,使用emp表(empno、ename、job、hiredate、sal、comm)有以下功能:
为公司增加新的雇员信息

  1.【业务层】可以增加新的雇员

    - [数据层] 由于雇员编号属于用户处理流程,所以应该首先判断该编号是否存在

    - [数据层] 如果不存在,进行数据增加操作

  2.【业务层】可以修改某一位雇员信息

    - [数据层] 直接执行UPDATE语句,如果没有修改数据,返回的更新行数为0

  3.【业务层】可以进行雇员删除操作,有可能删除一位或多位

     - [数据层] 直接执行DELETE,可以使用IN操作符删除多个雇员信息

  4.【业务层】可以显示具体的一位雇员的详细信息

     - [数据层] 利用SELECT限定查询,根据雇员编号查找即可

  5.【业务层】可以进行全体雇员信息展示

     - [数据层] 直接利用SELECT查询全部数据

  6.【业务层】可以进行数据的模糊查询分页显示,但要求可以同时返回符合于模糊查询的数据量

     - [数据层] 模糊查询需要设置一个查询的字段以及关键字,分页查询则需要依靠ROWNUM完成

     - [数据层] 由于是统计全部内容,可以直接使用COUNT()函数处理

不同层之间的设计以接口为主

原文地址:https://www.cnblogs.com/lonske/p/8884857.html