当前位置: 首页 > news >正文

接口-DAO模式

 1.代码比较

1.1StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同?

(1)StudentDaoArrayImpl.java是通过数组实现相关功能,StudenDaoListImpl.java是通过列表实现相关功能

//StudentDaoArrayImpl.java
private Student[] students;
//.StudenDaoListImpl.java
private List<Student> students = new ArrayList<Student>();

(2)利用数组实现addStudent()时需要遍历数组逐一判断并添加,利用列表实现则直接调用add方法

//StudentDaoArrayImpl.java
public boolean addStudent(Student student) {boolean success = false;for(int i=0; i<students.length;i++){if(students[i]==null){students[i] = student;success = true;break;}}return success;}
//StudenDaoListImpl.java
public boolean addStudent(Student student) {students.add(student);return true;}

2.DAO模式

2.1.StudentDao.java文件是干什么用的?为什么里面什么实现代码都没有?

(1)StudentDao接口包含了addStudent,getStuByName,diplayAllStudents方法的声明

(2)StudentDao接口告诉实现该接口的类必须提供哪些功能,而不是具体怎么去实现这些功能

2.2使用搜索引擎搜索“Java DAO”,选出几句你能看懂的、对你最有启发的话。请结合接口知识去理解

在Java中,DAO(Data Access Object)模式是一种用于将底层的数据访问逻辑与业务逻辑分离的设计模式。它提供了一种抽象层,使得应用程序可以更加灵活地处理数据存储,而不必关心具体的数据源是如何实现的。

(1)使用接口定义DAO,可以让你在不改变现有代码的情况下更改数据存储的方式。例如,你可能开始时使用内存中的集合来存储学生信息,后来决定改用数据库。

(2)接口提供了一种契约,任何实现了这个接口的类都必须提供相应的方法实现。

2.3尝试运行Test.java。根据注释修改相应代码。结合参考代码回答使用DAO模式有什么好处?

(1)用数组或列表得到的结果相同

StudentDao sdm = new StudentDaoArrayImpl(50);//使用数组实现
StudentDao sdm = new StudenDaoListImpl();//使用列表实现

(2)DAO模式将业务逻辑与数据访问逻辑分开,提高了代码的清晰度和可维护性。

(3)可以减少代码的重复率,DAO模式鼓励重用数据访问代码。一旦为某种类型的数据定义了DAO接口及其实现,就可以在多个地方复用这个实现。

(4)易于替换数据源,如果你需要从一种数据源切换到另一种(比如从内存数据库切换到关系型数据库),只需更改DAO实现即可。业务逻辑保持不变。

相关文章:

  • AI Agent开发之门:微软官方课程全面解析
  • SpringBoot整合PDF导出功能
  • 机器人领域和心理学领域 恐怖谷 是什么
  • WSL部署CosyVoice
  • 零基础入门Hadoop:IntelliJ IDEA远程连接服务器中Hadoop运行WordCount
  • Redis协议与异步方式
  • 编写大模型Prompt提示词方法
  • 问题 | 当前计算机视觉迫切解决的问题
  • LangChain框架-PromptTemplate 详解
  • 2025.5.8总结(中期审视)
  • 关于MySQL 数据库故障排查指南
  • uniapp|获取当前用户定位、与系统设定位置计算相隔米数、实现打卡签到(可自定义设定位置、位置有效范围米数)
  • #define ccw (0)和#define ccw 0什么区别
  • javaer快速从idea转战vscode
  • SpringBoot应急知识学习系统开发实现
  • AI CUBE 使用指南 目标检测格式范例 AI cube 报错数据集不合规范,请清洗数据集
  • 简易的考试系统设计(Web实验)
  • 差分OPA verilogaA 模型
  • uniapp自定义步骤条(可二开进行调试)
  • 幂等的几种解决方案以及实践
  • 蔡达峰:推动食品安全法全面有效实施,为维护人民群众身体健康提供有力法治保障
  • 首批证券公司科创债来了!拟发行规模超160亿元
  • 丰田汽车:美国关税或导致4、5月损失1800亿日元,新财年净利润下滑三成
  • 60岁济南石化设计院党总支书记、应急管理专家李有臣病逝
  • 湖北奥莱斯轮胎公司逃避监管排放大气污染物被罚25万元
  • 自然资源部印发地理信息数据分类分级指南