1 / 38

chapter 07 : CMP 2.0

chapter 07 : CMP 2.0. 학습목표. CMP 2.0 개요 EJB-QL select 메소드. EntityBean 개요. CMP 작업 순서 탐색기에 작업 디렉토리 생성 소스파일 작성 ( 2 개의 interface, 1 개의 빈 클래스 ) 컴파일 작업 설정파일 ( xml 파일 ) 작성 jar 파일로 압축 클라이언트 컴파일용 jar 파일 작성 클라이언트 소스파일 작성 컴파일 배치 ( Deployment ) 실행.

masao
Download Presentation

chapter 07 : CMP 2.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. chapter 07 : CMP 2.0

  2. 학습목표 • CMP 2.0 개요 • EJB-QL • select 메소드

  3. EntityBean 개요 • CMP 작업 순서 • 탐색기에 작업 디렉토리 생성 • 소스파일 작성 ( 2개의 interface, 1개의 빈 클래스) • 컴파일 작업 • 설정파일 ( xml 파일 ) 작성 • jar 파일로 압축 • 클라이언트 컴파일용 jar 파일 작성 • 클라이언트 소스파일 작성 • 컴파일 • 배치 ( Deployment ) • 실행

  4. EntityBean 개요 - CMP • spec. • Home Interface에는 반드시 findByPrimaryKey( String pk) • 메소드가 필요하다. • 선언만 하고 빈클래스에서 구현할 필요가 없다. • 빈 클래스에서는 가상 지속성 필드를 선언해야 한다. • ( setter , getter 메소드를 추상메소드로 선언해야 한다. ) • 빈의 클래스를 추상클래스로 선언한다. • 테이블 생성 및 SQL 작업은 빈클래스가 아닌 builder 툴에서 • 작업한다.

  5. 소스 파일 작성 • 작성 방법 • 2 개의 인터페이스를 작성한다. • EntityBean을 구현한 1 개의 클래스를 작성한다. • 인터페이스 작성 • Home Interface • javax.ejb.EJBHome 인터페이스를 상속받는다. • 빈의 생성/소멸/검색 작업관련. • Component Interface • javax.ejb.EJBObject 인터페이스를 상속받는다. • 비즈니스 메소드 작업관련. • 빈 클래스 작성 • javax.ejb.EntityBean 인터페이스를 구현한다. • Home Interface 선언된 추상 메소드를 구현한다. • Component Interface 선언된 추상 메소드를 구현한다.

  6. : 빈의 생성 , 검색 , 삭제 관련 작업 <<EJBHome>> <<Home Interface>> : 빈의 비즈니스 로직 관련 작업 <<EJBObject>> : Home Interface 메소드 구현. Component Interface 메소드 구현. SessionBean Interface 메소드 구현. <<Component Interface>> <<EntityBean>> UserBean • 소스 파일 작성

  7. 빈 생성 실습 예제

  8. <<EJBHome>> <<AppUserHome>> • 빈 생성 실습 예제 : 빈의 비즈니스 로직 관련 작업 <<EJBObject>> <<AppUser>> <<EntityBean>> AppUserEJB : EntityBean 인터페이스 callback 메소드 구현

  9. 빈 생성 실습 예제 • 소스 작성

  10. 빈 생성 실습 예제

  11. 빈 생성 실습 예제 • 컴파일 • 설정파일( xml파일 ) 작성

  12. 빈 생성 실습 예제

  13. 빈 생성 실습 예제 BMP 용 EJB-QL 에서 사용.

  14. 빈 생성 실습 예제 • Jar 파일 작성 • 클라이언트 실행

  15. 빈 삭제 실습 예제

  16. 빈 삭제 실습 예제 • 소스 작성

  17. 빈 삭제 실습 예제 • 설정파일 ( xml 파일 )작성 • Jar 파일 작성 • 서버실행 과 클라이언트 실행

  18. 빈 수정 실습 예제

  19. 빈수정() EntityBean UPDATE 빈수정() ejbStore() Client DB ejbLoad() SELECT • 빈 수정 실습 예제 • 동기화 ( Synchronization ) • 엔티티빈의 멤버변수 값과 데이터베이스의 레코드 값이 • 항상 일치되어야 한다. • ejbLoad 메소드와 ejbStore 메소드가 동기화 작업을 자동 • 으로 설정한다.

  20. 빈 수정 실습 예제 • 소스 작성

  21. 빈 수정 실습 예제 • 설정파일 ( xml 파일 ) 작성 • Jar 파일 작성 • 서버 실행 및 클라이언트 실행

  22. 빈 검색 실습 예제

  23. 빈 검색 실습 예제 • spec • Home Interface 에서 findXXX( args ) 이용한다. • finder 메소드는 빈 클래스에서 구현하지 않는다. • builder 툴에서 EJB-QL 를 이용하여 작성한다. • EJB-QL에서 사용하는 테이블 이름은 • Abstract Schema name 을 이용한다. • single finder • 검색 결과가 하나의 레코드인 경우 • 예> findByPrimaryKey( pk ) • multiple finder • 검색 결과가 여러 개의 레코드인 경우 • 예> findByAll() , findByName( name ) , findByAllName()

  24. EJB-QL • 특징 • SQL문은 DBMS 마다 종속적이다. • ( 각 vendor 마다 확장된 기능의 SQL 지원 ) • EJB-QL 은 DBMS에 독립적이다. • EJB-QL은 특정 DBMS에 최적화된 SQL문 지원이 어렵다. • 기본 문법 • SELECT OBJECT ( o ) FROM 추상스키마이름 As o • SELECT OBJECT ( o ) FROM 추상스키마이름 o • SELECT OBJECT (o) FROM 추상스키마이름 o WHERE • o.name = ?1 • SELECT o.pass FROM 추상스키마이름 As o WHERE • o.name = ?1 AND o.id = ?2

  25. 빈 검색 실습 예제 – single finder • 소스 작성 과 컴파일 • 설정파일( xml 파일 ) 작성

  26. 빈 검색 실습 예제

  27. 빈 검색 실습 예제 • Jar 파일 작성 • 클라이언트 작성

  28. 빈 검색 실습 예제 • 실행

  29. 빈 검색 실습 예제 – multiple finder • 소스 작성 • 설정파일( xml 파일 ) 작성

  30. 빈 검색 실습 예제 • Jar 파일 작성 • 클라이언트 작성

  31. 빈 검색 실습 예제 • 실행

  32. select 메소드 실습 예제

  33. select 메소드 실습 예제 • 특징 • 빈 클래스에서 ejbSelectXXX( args ) 이름으로 추상 메소드로 선언한다. • 예> ejbSelectName( String key ) • 반드시 FinderException 을 선언한다. • builder 툴에서 EJB-QL 을 이용하여 작성한다. • select 메소드 사용은 Home 메소드 또는 Component 메소드에서 사용한다.

  34. select 메소드 실습 예제 • 실습

  35. select 메소드 실습 예제 • 설정파일( xml 파일 ) 작성 • 클라이언트 작성

  36. Home 메소드 실습 예제 • 실행

  37. 공부한 내용 • CMP 2.0 • EJB-QL 사용법

More Related