MySQL의 DAO 모드

一个新手
一个新手원래의
2017-10-10 09:54:042112검색

JDBC 캡슐화

장점:

  1. 격리 세부정보

  2. 코드 간 결합 감소

  3. 코드 확장성 향상

참고 들:

                                                                                                         DAO 모드 작업을 위한 인터페이스를 제공합니다. 관계형 데이터 시스템에 액세스하는 데 필요하며 데이터 액세스와 비즈니스 로직을 분리하고 상위 계층에 객체 지향 데이터 액세스 인터페이스를 제공합니다.

DAO

패턴은 2계층 분리를 달성합니다:

분할 코드 간 작업이 명확하고 데이터 액세스 계층 코드가 비즈니스 논리 계층 코드에 영향을 미치지 않으며 이는 단일 기능 원칙에 부합하며 결합 정도를 줄이고 코드의 재사용성을 향상시킵니다. .
  • mysql과 같이 기본 데이터가 변경되면 Oracle이 되는 등 다양한 데이터베이스의 구현을 격리하고 인터페이스 지향 프로그래밍을 채택합니다. DAO 인터페이스의 구현 클래스만 추가하면 됩니다. 원래의 Mysql 구현 클래스는 수정이 필요하지 않습니다. 이는 열기 및 닫기 원칙에 부합하며 결합을 줄이고 확장성과 이식성을 향상시킵니다.
  • DAO

모델의 주요 구성 요소:

DAO 인터페이스: 데이터베이스의 모든 작업을 추상 메서드로 정의하고 인터페이스에 넣어 여러 구현을 제공합니다.
  • DAO 구현 클래스: 다양한 DAO 인터페이스 정의 제공 다양한 데이터베이스 구현 방법(다른 구현 클래스)
  • Entity 클래스: 전송된 객체 데이터를 저장하는 데 사용되며, 많은 매개 변수를 전달하지 않고 객체를 직접 전달합니다.
  • 데이터베이스 연결 닫기 도구 클래스: 다음과 같은 것도 있습니다. 추가, 삭제 및 수정된 재사용 코드는 공용 클래스로 추출할 수 있으며, 코드 중복을 방지하기 위해 데이터베이스를 닫고 연결할 수 있습니다.
  • SRC → NEW → File → 마지막에 구성 파일을 출력합니다. 속성.
  • Prpoerties 클래스
속성 구성 파일


파일에 구성 정보 추가

  • 예:

Driver=com.mysql.jdbc.Driver                   //添加加载驱动的字符串Url=jdbc:mysql://localhost:3306/epet                                   //添加链接的字符串
Username=epetAdmin                                      //数据库用户名
Password=root                                             //数据库用户密码
구성 파일 읽기

속성

일반적인 방법

MethodDescriptionString getProperty(String key)Object setProperties(문자열 키, 문자열 값)Void load(InputStream instr)Voidclear()엔티티 클래스의 일반 속성은 비공개로 수정됩니다.

지정된 키로 값 가져오기

hashTable의 put 메소드를 호출하고 기본 클래스의 put() 메소드를 호출하여 키-값 쌍을 설정합니다

에서 속성 읽기 입력 스트림 목록, 지정된 파일을 로드하여 파일의 키 값을 가져옵니다.

재인쇄된 키-값 쌍 지우기 이 방법은 해시 테이블에서 제공됩니다. data
데이터는 엔터티 클래스 클래스를 통해 데이터 액세스 코드와 비즈니스 로직 코드 간에 전송되고 관련 정보는 클래스의 엔터티에 캡슐화되며 프로그램은 엔터티 클래스를 메서드의 매개 변수로 전달합니다.


엔티티 클래스의 특성

비즈니스 요구 사항 및 캡슐화 요구 사항에 따라 엔터티 클래스는 getter/setter 메서드를 따르며 일반적으로 속성을 읽고 할당하는 일을 담당합니다. , 공개 수정이 사용됩니다

    엔티티 클래스에 대해 매개변수 없는 생성자를 제공하고 비즈니스 요구에 따라 매개변수화된 생성자를 제공합니다.
  • 엔터티 클래스는 java.io.Serialized 인터페이스를 구현하고 직렬화 메커니즘을 지원하는 것이 가장 좋습니다. 객체는 바이트 직렬화로 변환되어 디스크(하드 디스크)에 저장되거나 네트워크를 통해 전송될 수 있습니다.
  • 엔티티 클래스가 직렬화 가능 인터페이스를 구현하는 경우. 다양한 버전의 직렬화 문제를 해결하려면 serialVersionUID 속성을 정의해야 합니다.

위 내용은 MySQL의 DAO 모드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.