数据层设计与开发(定义数据层标准) | 学习笔记

简介: 简介:快速学习数据层设计与开发(定义数据层标准)

开发者学堂课程【DAO 开发实战业务分析:数据层设计与开发(定义数据层标准)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/399/detail/5163


数据层设计与开发(定义数据层标准)

 

内容介绍:

一、具体内容

二、定义数据层操作标准


一、具体内容

数据层的主要目的是进行所有的原子性的数据库操作实现,而且从整体的结构来讲,数据层的调用一定要交由业务层完成,两个不同层之间如果要进行数据的操作需要使用接口。

image.png


二、定义数据层操作标准

如果要定义数据层的接口,往往建议使用“IXxxDAO”命名风格进行,例如:现在使用的是 member 表,那么如果要针对于 member 表的数据操作接口名称应该为IMemberDAO,同时考虑到代码的整体结构,要将其保存在 cn.mldn.oracle.dao 包之中。

新建接口:

image.png

在数据层之中一定需要定义多个数据层的操作方法,而所有的方法有自己严格命名要求:

更新处理:方法名称建议以“doXxx()”开头,例如: doCreate()、doUpdate()、doRemove()

查询处理,查询本身实际上是分为两种查询操作:

|-数据的信息查询,建议以 findXxx()或者是 findByXxx()命名,

例如: findAll()、findById()、findByPhone();

|-统计的信息查询,建议以 getXxx()命名,

例如:getAllCount();

范例:定义 IMemberDAO 接口

public interface IMemberDAO {

/**

*保存member数据表中的数据

*@param vo要保存数据的Vo对象

*@return保存成功返回true,否则返回false

*@throws Exception数据库未连接,或者数据库操作错误

*/

public boolean doCreate(Member vo) throws Exception ;

public boolean doUpdate(Member vo) throws Exception ;

/**

*进行member表数据的修改,本次修改是基于id的修改处理*@param vo要修改的全部数据

*@return修改成功返回true,否则返回falslse

*@throws Exception数据库未连接,或者数据库操作错误

*/

public boolean doUpdate(Member vo) throws Exception ;

/**

*数据的删除处理,会将所有要删除的数据保存在Set集合之中*@param ids所有要删除的ID编号

*@return如果要删除的数量符合于最终的执行标准返回true,否则返回false

*@throws Exception数据库未连接,或者数据库操作错误

*/

public boolean doRemove(Set<String> ids) throws Exception;

/**

*根据id查询出一个用户的完整信息

*@param id要查询的用户id

*@return如果数据找到则以vO类对象的形式返回,返回null

*@throws Exception数据库未连接,或者数据库操作错误

*/

public Member findById(String id) throws Exception ;

/**

*根据电话查找用户信息是否存在

*@param phone要查找的电话

*@return查找到数据返回Member,否则返回null

*@throws Exception数据库未连接,或者数据库操作错误

*/

public Member findByPhone(String phone) throws Exception;

/**

*查询数据表中的全部数据

*@return会返回多个Member对象,将以List的集合形式返回。

*如果表中没有数据则返回的List集合长度为0 (size() == 0)

*@throws Exception数据库未连接,或者数据库操作错误

*/

public List<Member> findAll() throws Exception ;

/**

*数据的分页显示处理

*@param currentPage当前所在页

*@param lineSize每页显示的数据行数

*@return会返回多个Member对象,将以List的集合形式返回。

*如果表中没有数据则返回的List集合长度为0 (size() == 0)

*@throws Exception数据库未连接,或者数据库操作错误

*/

public List<Member> findAll() throws Exception ;

/**

*数据的分页显示处理

*@param currentPage当前所在页

*@param lineSize每页显示的数据行数

*@return会返回多个Member对象,将以List的集合形式返回。

*如果表中没有数据则返回的List集合长度为0 (size() == 0)

*@throws Exception数据库未连接,或者数据库操作错误

*/

public List<Member> findAllSplit(Integer currentPage,Integer lineSize) throws Exception ;

/**

*数据的分页查询显示处理

*@param column需要进行查询的数据列

*@param keyword 要查询的关键字,如果关键字为空字符串表示查询全部

*@param currentPage当前所在页

*@param linesize每页显示的数据行数

*@return会返回多个Member对象,将以List的集合形式返回。

*如果表中没有数据则返回的List集合长度为0 (size() == 0)

*@throws Exception数据库未连接,或者数据库操作错误

*/

public List<Member> findAllSplit(String column , String keyword,Integer currentPage,Integer lineSize) throws Exception ;

/**

*统计数据表中的全部数据量

*@return使用COUNT(()函数的统计结果

*@throws Exception数据库未连接,或者数据库操作错误

*/

public Long getAllCount() throws Exception ;

/**

*统计模糊查询的数据量

*@param column需要进行查询的数据列

*@param keyWord 要查询的关键字,如果关键字为空字符串表示查询全部

*@return使用COUNT()函数的统计结果

*@throws Exception数据库未连接,或者数据库操作错误

*/

public Long getAllCount(String .column , String keyword) throws Exception ;

以后的业务层只需要通过接口的标准就可以实现相应的数据层调用。

相关文章
|
7月前
|
架构师 测试技术 Linux
嵌入式软件架构中抽象层设计方法
嵌入式软件架构中抽象层设计方法
244 0
|
3月前
|
前端开发 IDE 数据库连接
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
本文详细介绍了ThinkPHP6中模型层的使用,包括模型属性设置、表映射关系、以及如何在控制层中使用模型层进行CRUD操作。
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
|
4月前
|
安全 Java
建模底层逻辑问题之在建模过程中,知识层和操作层如何区分
建模底层逻辑问题之在建模过程中,知识层和操作层如何区分
|
4月前
|
缓存 前端开发
构建前端防腐策略问题之引入前端防腐层是否总是合理
构建前端防腐策略问题之引入前端防腐层是否总是合理
|
5月前
|
缓存 项目管理
项目管理定义问题之DDD架构的分层架构中基础层作用是什么
项目管理定义问题之DDD架构的分层架构中基础层作用是什么
|
7月前
|
消息中间件 前端开发 测试技术
DDD - 分层架构:有效降低层与层之间的依赖
DDD - 分层架构:有效降低层与层之间的依赖
404 0
|
数据库 开发者
数据层设计与开发(定义数据层标准) | 学习笔记
简介:快速学习数据层设计与开发(定义数据层标准)
203 0
数据层设计与开发(定义数据层标准) | 学习笔记
|
SQL Java 数据库连接
数据层设计与开发(数据层标准实现类) | 学习笔记
简介:快速学习数据层设计与开发(数据层标准实现类)
153 0
数据层设计与开发(数据层标准实现类) | 学习笔记
|
开发者
数据层设计与开发(数据层工厂类) | 学习笔记
简介:快速学习数据层设计与开发(数据层工厂类)
109 0
数据层设计与开发(数据层工厂类) | 学习笔记