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

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

开发者学堂课程【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 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 findAll() throws Exception ;

/**

*数据的分页显示处理

*@param currentPage当前所在页

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

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

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

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

*/

public List findAll() throws Exception ;

/**

*数据的分页显示处理

*@param currentPage当前所在页

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

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

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

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

*/

public List 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 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 ;

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

相关文章
|
缓存 移动开发 网络协议
tcp业务层粘包和半包理解及处理
tcp业务层粘包和半包理解及处理
292 1
|
数据采集 存储 数据处理
数据治理:如何制定数据标准与规范
在当今这个数据驱动的时代,数据已成为企业最宝贵的资产之一。然而,随着数据量的爆炸性增长和数据来源的多样化,如何有效地管理和利用这些数据成为了企业面临的重大挑战。数据治理作为确保数据质量、安全性、合规性和可访问性的关键过程,其核心在于制定并执行一套科学、合理的数据标准与规范。本文将探讨如何制定数据标准与规范,以推动企业的数据治理实践。
2086 3
|
8月前
|
Java 测试技术 数据库
使用benchmarksql测试数据库处理能力
传统的OLTP业务,应用系统使用 java 开发,并且不建议使用存储过程,使用 benchmarksql 压测数据库最公平,既可以测试数据库性能,也可以测试JDBC驱动
591 88
|
Oracle Java 关系型数据库
入职必会-开发环境搭建41-Linux软件安装-安装JDK
本文介绍了在Linux系统中下载和安装JDK
544 3
入职必会-开发环境搭建41-Linux软件安装-安装JDK
|
消息中间件 关系型数据库 Kafka
深入理解数仓开发(二)数据技术篇之数据同步
深入理解数仓开发(二)数据技术篇之数据同步
|
12月前
|
运维 安全 架构师
架构师工具箱:Well-Architected云治理提效实践
本次分享基于阿里云Well-Architected Framework的最佳实践案例,涵盖企业从上云到优化的全过程。安畅作为国内领先的云管理服务提供商(Cloud MSP),拥有800多名员工,其中70%为技术工程师,为企业提供架构安全、数据智能等技术服务。内容包括Landing Zone与Well-Architected的关系、企业云治理现状及需求分析,重点探讨了安全合规、成本优化、资源稳定性和效率提升等方面的最佳实践,并通过具体客户案例展示了如何通过自动化工具和定制化解决方案帮助企业提升云上业务价值。
|
机器学习/深度学习 人工智能 自然语言处理
盘点2024年最先进的智能客服机器人TOP10 #SaaS产品#
综合市场数据和用户口碑为大家盘点10大主流服务商
716 4
|
人工智能 供应链 搜索推荐
3D打印:从原型制作到制造业的颠覆性变革
【9月更文挑战第14天】3D打印技术以其独特的增材制造方式,在材料、工艺、设备等方面取得显著进步,从原型制作跨越至直接生产,推动制造业转型升级。它加速了设计与创新,使复杂结构成为可能;按需制造特性颠覆了生产模式,降低了库存成本,提高了市场响应速度;同时催生了新的商业模式,如定制化服务和平台运营。尽管面临材料成本和技术成熟度等挑战,但3D打印技术正逐步普及,未来将在智能化和网络化方向上持续发展,引领制造业迈向更高效、定制化的未来。
|
小程序 安全 5G
Janus: 基于 eBPF 的 5G 实时 AI 控制器(中)
Janus: 基于 eBPF 的 5G 实时 AI 控制器(中)
421 0