DAO(Data Access Object Pattern)
总是看到什么什么dao的,但是Dao到底是什么?Dao是一种设计模式,全称Data Access Object Patter。下面翻译一篇小文章,以作解释。 Data Access Object Pattern 或者DAO 模式被用来分离低层次数据访问和高级业务逻辑操作。 下面是一些DAO模式中包含的元素。
总是看到什么什么dao的,但是Dao到底是什么?Dao是一种设计模式,全称Data Access Object Patter。下面翻译一篇小文章,以作解释。
Data Access Object Pattern 或者DAO 模式被用来分离低层次数据访问和高级业务逻辑操作。下面是一些DAO模式中包含的元素。
· Data Access Object Interface - 定义了一个model类上标准的操作方法的接口。
· Data Access Object concrete class - 实现了上面接口的类。这个类负责从数据存储区(数据库、xml)中取得数据。
· Model Object or Value Object - 这是一个简单地POJO(plain Old Java Object)包含了getter和setter方法。由DAO类进行存取。
实现
创建一个Student类代表了Model或Value对象。StudentDao是一个Dao接口。StudentDaoImpl是一个实现StudentDao的类。见下图:
STEP 1.
创建model类,Student
package com.wly.dp.dao; public class Student { private String name; private int rollNo; Student(String name, int rollNo) { this.name = name; this.rollNo = rollNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getRollNo() { return rollNo; } public void setRollNo(int rollNo) { this.rollNo = rollNo; } }
创建一个Dao接口,StudentDao
package com.wly.dp.dao; import java.util.List; public interface StudentDao { public List<student> getAllStudents(); public Student getStudent(int rollNo); public void updateStudent(Student student); public void deleteStudent(Student student); } </student>
创建一个实现Dao接口的类,StudentDaoImpl
package com.wly.dp.dao; import java.util.ArrayList; import java.util.List; public class StudentDaoImpl implements StudentDao{ List<student> students; //模拟数据库 public StudentDaoImpl() { students = new ArrayList<student>(); Student student1 = new Student("Robert",0); Student student2 = new Student("John",1); students.add(student1); students.add(student2); } @Override public List<student> getAllStudents() { return students; } @Override public Student getStudent(int rollNo) { return students.get(rollNo); } @Override public void updateStudent(Student student) { students.get(student.getRollNo()).setName(student.getName()); System.out.println("Student: Roll No " + student.getRollNo() +", updated in the database"); } @Override public void deleteStudent(Student student) { students.remove(student.getRollNo()); System.out.println("Student: Roll No " + student.getRollNo() +", deleted from database"); } } </student></student></student>
测试类,Test
package com.wly.dp.dao; public class Test { public static void main(String[] args) { StudentDao studentDao = new StudentDaoImpl(); // 输出所有student for (Student student : studentDao.getAllStudents()) { System.out.println("Student: [RollNo : " + student.getRollNo() + ", Name : " + student.getName() + " ]"); } // 更新一个student Student student = studentDao.getAllStudents().get(0); student.setName("Michael"); studentDao.updateStudent(student); // 得到更新后的student studentDao.getStudent(0); System.out.println("Student: [RollNo : " + student.getRollNo() + ", Name : " + student.getName() + " ]"); } }
验证输出
Student: [RollNo : 0, Name : Robert ] Student: [RollNo : 1, Name : John ] Student: Roll No 0, updated in the database Student: [RollNo : 0, Name : Michael ]
转帖请保留出处:http://blog.csdn.net/u011638883/article/details/13093701
谢谢!!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1. Windows 11에서 설정을 엽니다. Win+I 단축키나 다른 방법을 사용할 수 있습니다. 2. 앱 섹션으로 이동하여 앱 및 기능을 클릭합니다. 3. 백그라운드에서 실행되는 것을 방지하려는 애플리케이션을 찾으세요. 점 3개 버튼을 클릭하고 고급 옵션을 선택합니다. 4. [백그라운드 애플리케이션 권한] 섹션을 찾아 원하는 값을 선택하세요. 기본적으로 Windows 11은 전원 최적화 모드를 설정합니다. 이를 통해 Windows는 애플리케이션이 백그라운드에서 작동하는 방식을 관리할 수 있습니다. 예를 들어, 배터리를 절약하기 위해 배터리 절약 모드를 활성화하면 시스템은 모든 앱을 자동으로 닫습니다. 5. 애플리케이션이 백그라운드에서 실행되는 것을 방지하려면 [안함]을 선택합니다. 프로그램이 알림을 보내지 않거나 데이터를 업데이트하지 못하는 경우 등을 확인할 수 있습니다.

DeepSeek은 파일을 PDF로 직접 변환 할 수 없습니다. 파일 유형에 따라 공통 문서 (Word, Excel, PowerPoint) : Microsoft Office, LibreOffice 및 기타 소프트웨어를 사용하여 PDF로 내보내십시오. 이미지 : 이미지 뷰어 또는 이미지 처리 소프트웨어를 사용하여 PDF로 저장하십시오. 웹 페이지 : 브라우저의 "PDF로 인쇄"기능 또는 전용 웹 페이지에서 PDF 도구를 사용하십시오. 드문 형식 : 오른쪽 변환기를 찾아 PDF로 변환하십시오. 올바른 도구를 선택하고 실제 상황에 따라 계획을 개발하는 것이 중요합니다.

Oracle은 다음 단계를 통해 dbf 파일을 읽을 수 있습니다. 외부 테이블을 만들고 dbf 파일을 참조하여 데이터를 Oracle 테이블로 가져옵니다.

어제 BotanixLabs는 Polychain Capital, Placeholder Capital 등의 참여로 총 1,150만 달러의 자금 조달을 완료했다고 발표했습니다. 자금 조달은 BTCL2Botanix와 동등한 분산형 EVM을 구축하는 데 사용됩니다. Spiderchain은 EVM의 사용 편의성과 비트코인의 보안을 결합합니다. 2023년 11월 테스트넷이 시작된 이후 활성 주소는 200,000개가 넘었습니다. Odaily는 이번 기사에서 Botanix의 특징적인 메커니즘과 테스트넷 상호 작용 프로세스를 분석할 것입니다. Botanix 공식 정의에 따르면 Botanix는 비트코인을 기반으로 구축된 분산형 Turing-complete L2EVM이며 두 가지 핵심 구성 요소로 구성됩니다. Ethereum Virtual Machine

액세스 위반 오류는 프로그램이 메모리 할당을 초과하는 메모리 위치에 액세스할 때 발생하는 런타임 오류로, 이로 인해 프로그램이 중단되거나 비정상적으로 종료됩니다. 해결 방법에는 배열 경계 확인, 적절한 메모리 할당 기능 사용, 메모리 오버플로 확인, 실행 추적을 위한 타사 라이브러리 확인, .

1. 시작 메뉴에서 제어판 페이지를 검색하세요. 2. 그런 다음 제어판에서 보기를 범주로 변경하고 시스템 및 보안을 클릭합니다. 3. 시스템 아래에서 원격 액세스 허용 버튼을 찾아 클릭합니다. 4. 팝업 창에서 원격 시스템 속성 열을 클릭하고 이 컴퓨터에 대한 원격 연결 허용 버튼을 선택한 후 확인을 클릭하여 저장합니다.

Node.js 환경에서 403을 반환하는 타사 인터페이스의 문제를 해결하십시오. Node.js를 사용하여 타사 인터페이스를 호출 할 때 때때로 403을 반환하는 인터페이스에서 403의 오류가 발생합니다 ...

Laravel 프레임 워크 및 Laravel 프레임 워크 및 Redis를 사용할 때 Redis 연결을 공유하는 데 영향을 줄 수 있습니다. 개발자는 문제가 발생할 수 있습니다. 구성을 통해 ...
