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
使用列表实现StudenDaoListImpl
StudentDaoArraylmpl与StudentDaoListImpl都是使用DAO接口来实现操作的,这样可以实现不相关类的相同行为,也可以更加灵活地调用定义函数,使得程序结构清晰,并且此时相同的方法有不同的实现,在选择适合的存储方式和方法时,对代码的改动也较小,灵活性较高,增强了程序的稳定性,好处多多。
5. 可选:编写一些使用DAO模式的代码。比如使用文件作为购物车存储底层。参考资料Java DAO模式 https://www.runoob.com/note/27029
来源:https://www.cnblogs.com/xyx129221/p/13869173.html


猜你喜欢
- C++ 11中的互斥量,声明在 <mutex> 头文件中,互斥量的使用可以在各种方面,比较常用在对共享数据的
- swagger简介Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。一个规范和完整的框架,用于生成、描述、调用和可
- android动态布局相比静态布局,动态布局不用再将xml转变了布局代码,提高了一定的效率,当然可以忽略不记。动态布局主要是比较灵活,可以很
- 配置文件<?xml version="1.0" encoding="utf-8" ?>&
- 第一种:(调用系统API)首先引入两个命名空间using System.Runtime.InteropServices;using Syst
- 生成excel并导出到对应位置package tech.BurtonPratice; import org.apache.poi.hssf.
- Android Studio下载(下文统称AS)AS最新版下载请戳:AS下载Android SDK下载SDK安装器下载SDK安装器下载请戳:
- 在.Net中,对文件(File)和文件夹(Folder)的操作可以使用File类和Directory类,也可以使用FileInfo类和Dir
- Object(四大方法):文章干货满满,耐性看完~~何为Object?首先先来看看官方对Object的介绍:在这里附上Java官方的查阅工具
- 我们在上网的过程中经常看到各种图片,那你知道它是如何实现的吗?接下来就让我们一块探讨一下。 网络图片的浏览可以分为俩部分,基本的页面布局与界
- 之前用View Pager做了一个图片切换的推荐栏(就类似与淘宝、头条客户端顶端的推荐信息栏),利用View Pager很快就能实现,但是一
- 本文将通过AOP的方式实现一个相对更加简易灵活的API安全认证服务。我们先看实现,然后介绍和分析AOP基本原理和常用术语。一、Authori
- 本文实例讲述了Android编程实现使用webView打开本地html文件的方法。分享给大家供大家参考,具体如下:在布局的配置文件里:<
- ? 通配符类型<? extends T> 表示类型的上界,表示参数化类型的可能是T 或是 T的子类;<? super T&
- mybatis一直加载xml,找到错误我们在写springmvc+mybatis项目,启动项目的时候,mapper配置文件一直刷,一直加载。
- 一、编码规则Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组
- 首先贴一下搭配的环境:配置:Eclipse4.3.2jdk1.7_45Mysql 5.0+然后切入正题:1、login.jsp主要是使用OG
- 概述日常工作中,我们经常会有发送 HTTP 网络请求的需求,概括下我们常见的发送 HTTP 请求的需求内容:可以发送基本的 GET/POST
- Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行。 共同点: 1. 他们
- 在前面几篇文章中,我们详细介绍了Androi