数据层设计与开发(数据层工厂类) | 学习笔记

简介: 简介:快速学习数据层设计与开发(数据层工厂类)

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

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


数据层设计与开发(数据层工厂类) 

 

内容介绍:

一、实现工厂类

二、总结


一、实现工厂类

image.png

如果需要取得接口的实例化对象,那么必然需要通过工厂类完成,但是由于整个项目里面有可能有许多的数据表(DAO 接口就会多),所以这个时候的工厂类如果要想操作灵活建议使用反射机制来进行控制。

工厂类要求保存在 cn.mldn.oracle.factory 包中;

范例:定义工广类

package cn.mldn.oracle.factory;

/**

*取得DAO接口的工厂类

*author mldn

*/

public class DAOFactory {

private DAOFactory() {;

//为了不产生实例化对象

/**

*定义DAO接口的对象取得

*@param cls 子类的Class对象

*return一个接口的实例化对象

*/

public static  T getInstance(Class cls) {

try {

return cls.newInstance() ;

} catch (Exception e) {

e.printStackTrace( ):

}

return null ;

}

本处增加私有化构造方法的目的在于:不希望程序产生 DAOFactory 类的实例化对象,只希望它通过内部提供的 static 方法进行操作。

public static  T getInstance(Class cls,Connection conn

try {

Constructor<1> cons_=c(s.gn) :return cons.newInstance( conn) ;

}catch (Exception e) {

e.printStackTrace();

}

return null ;

}

image.png


二、总结

1、本次实现的数据层的操作子类是最基础也是最容易的子类,整个的操作之中没有做出任何的设计,只是简单的依靠纯粹的引用传递完成,但是实质上发现,代码的控制有点麻烦。

2、如果一个项目之中所有的数据层的操作都是同样的方式取得,代码有点麻烦,会重复很多

相关文章
|
6天前
|
人工智能 JSON 监控
Spring AI MCP Server接入百炼问题排查
本文记录Spring AI MCP Server接入阿里云百炼平台时因HTTP连接复用导致的"获取工具异常,请确认MCP是否正常运行"问题。百炼复用连接时,服务端已关闭通道,导致请求体丢失。通过分析日志发现Netty过早关闭连接,最终以添加`Connection: close`响应头强制断开,解决兼容性问题。
90 6
|
5月前
|
Python
Excel中如何批量重命名工作表与将每个工作表导出到单独Excel文件
本文介绍了如何在Excel中使用VBA批量重命名工作表、根据单元格内容修改颜色,以及将工作表导出为独立文件的方法。同时提供了Python实现导出工作表的代码示例,适用于自动化处理Excel文档。
|
9月前
|
运维 监控
一文详解wgcloud监控系统 硬盘监控详解
WGCLOUD是一款开源免费的运维监控工具,部署安装相当简单友好,使用也很流畅
|
机器学习/深度学习 人工智能 网络架构
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
285 1
|
消息中间件 缓存 监控
【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控
springboot的热部署、配置的宽松绑定和校验、任务、邮件、监控、springboot整合JdbcTemplate,h2等sql技术、整合redis,mongodb,es等nosql技术、整合redis,Memcached,jetcache,j2cache等缓存技术、整合ActiveMQ,RabbitMQ,RocketMQ,Kafka等消息的中间件的入门、整合缓存/任务/邮件/监控
【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控
|
边缘计算 人工智能 安全
5G 核心网络 (5GC) 与 4G 核心网:架构变革,赋能未来
5G 核心网络 (5GC) 与 4G 核心网:架构变革,赋能未来
917 6
|
数据库
解决navicat无法连接sqlserver数据库的问题
解决navicat无法连接sqlserver数据库的问题
|
存储 Java
|
前端开发 关系型数据库 MySQL
使用PHP构建动态网站的技术指南
【5月更文挑战第27天】本文是使用PHP构建动态网站的指南,涵盖基本概念、技术栈选择(PHP、MySQL/MariaDB、HTML/CSS/JavaScript及Web服务器)、数据库交互示例、安全性考虑(SQL注入防护、输入验证、HTTPS使用、安全更新)和性能优化(缓存、查询优化、代码优化、输出压缩)。通过学习和实践,开发者能创建安全、高性能的动态网站。
|
小程序 前端开发 测试技术
微信小程序|ssm基于微信小程序的高校课堂教学管理系统
微信小程序|ssm基于微信小程序的高校课堂教学管理系统
300 1