开发者学堂课程【DAO 开发实战业务分析:数据层设计与开发(定义数据层标准)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/399/detail/5163
数据层设计与开发(定义数据层标准)
内容介绍:
一、具体内容
二、定义数据层操作标准
一、具体内容
数据层的主要目的是进行所有的原子性的数据库操作实现,而且从整体的结构来讲,数据层的调用一定要交由业务层完成,两个不同层之间如果要进行数据的操作需要使用接口。
二、定义数据层操作标准
如果要定义数据层的接口,往往建议使用“IXxxDAO”命名风格进行,例如:现在使用的是 member 表,那么如果要针对于 member 表的数据操作接口名称应该为IMemberDAO,同时考虑到代码的整体结构,要将其保存在 cn.mldn.oracle.dao 包之中。
新建接口:
在数据层之中一定需要定义多个数据层的操作方法,而所有的方法有自己严格命名要求:
更新处理:方法名称建议以“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 ;
以后的业务层只需要通过接口的标准就可以实现相应的数据层调用。