Java接口DAO模式代码原理及应用详解

作者:R° 时间:2023-06-21 05:29:04 

DAO模式是接口的一个典型应用。

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

二者都用于记录学生信息并且都声明了StudentDao接口,但StudenDaoListImpl.java使用ArrayList动态数组实现,使其内存可改变;而StudentDaoArrayImpl.java使用数组来储存学生信息,其数组长度是不变的。

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

StudentDao接口定义了三种抽象方法写入,读取,输出。即:

  • addStudent写入学生信息;

  • getStuByName读取学生信息;

  • diplayAllStudents输出显示学生信息。

因为该文件只确定了方法的声明,没有对方法进行实现。

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

  • DAO (DataAccessobjects 数据存取对象)是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来。

  • DAO 模式提供了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离对上层提供面向对象的数据访问接口。

  • DAO 模式的优势就在于它实现了两次隔离。

    • 隔离了数据访问代码和业务逻辑代码。

    • 隔离了不同数据库实现。

理解:

使用DAO可以分离开来便于管理,有层次感,方便代码的编写,有一些比较清楚的逻辑,防止我们在写代码的过程中出现思路混乱等问题,具有灵活性。

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

使用数组实现StudentDaoArrayImpl

Java接口DAO模式代码原理及应用详解

使用列表实现StudenDaoListImpl

Java接口DAO模式代码原理及应用详解

StudentDaoArraylmpl与StudentDaoListImpl都是使用DAO接口来实现操作的,这样可以实现不相关类的相同行为,也可以更加灵活地调用定义函数,使得程序结构清晰,并且此时相同的方法有不同的实现,在选择适合的存储方式和方法时,对代码的改动也较小,灵活性较高,增强了程序的稳定性,好处多多。

5. 可选:编写一些使用DAO模式的代码。比如使用文件作为购物车存储底层。参考资料Java DAO模式 https://www.runoob.com/note/27029

来源:https://www.cnblogs.com/xyx129221/p/13869173.html

标签:Java,接口,DAO,模式
0
投稿

猜你喜欢

  • 在Java中使用redisTemplate操作缓存的方法示例

    2023-07-04 09:03:28
  • C#实现目录跳转(TreeView和SplitContainer)的示例代码

    2023-07-31 11:07:59
  • android UI绘制加减号按钮

    2023-09-11 02:55:28
  • Android仿QQ首页ListView左滑置顶、删除功能

    2022-02-16 05:15:48
  • Android Drawerlayout实现侧滑菜单效果

    2022-10-31 19:39:23
  • Java基础之八大排序算法

    2022-02-05 12:35:47
  • Android中webview与JS交互、互调方法实例详解

    2023-04-30 19:18:27
  • 详解Java中的数组与字符串相关知识

    2023-02-10 03:31:10
  • Java中避免NullPointerException的方法总结

    2021-08-29 08:09:24
  • c#使用file.copy实现文件备份示例

    2021-06-03 05:13:13
  • C#中的timer与线程使用

    2023-08-21 00:13:11
  • Java数组动态增加容量过程解析

    2023-06-07 07:35:24
  • 详解Lombok安装及Spring Boot集成Lombok

    2023-11-28 23:39:55
  • Android ListView与RecycleView的对比使用解析

    2022-05-05 16:56:02
  • Java编程探索之泛型擦除实例解析

    2022-08-30 02:13:35
  • 微信小程序 跳转页面的两种方法详解

    2023-11-03 13:04:21
  • 老生常谈Java异常处理和设计(推荐)

    2023-08-21 02:26:06
  • Java对象在JVM中的生命周期详解

    2023-11-24 16:15:03
  • 解析android中ProgressBar的用法

    2021-07-13 20:38:52
  • Android 利用ViewPager+GridView实现首页导航栏布局分页效果

    2021-08-05 09:39:07
  • asp之家 软件编程 m.aspxhome.com