Java Web 실무과정] 페이징 처리

Java Web 실무과정] 페이징 처리


 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



페이징 처리


* 페이징(Paging)


- 전체 행을 몇 개의 행으로 구성된 페이지로 나누는 것


* 페이징에 관련된 정보


- 전체 행 수
- 전체 페이지 수
- 전체 그룹 수
- 페이지당 행 수(rowsPerPage)
- 현재 페이지(currentPage)
- 그룹당 페이지 수

 

 


* 현재 페이지의 리스트 검색 SQL


- Oracle
   select *
   from
   (
      select rownum rnum, *
      from
      (
       >> select * 
       >> from board
       >> order by bno desc
      )
      where rownum <= (rowsPerPage*currentPage)
)
where rnum > (rowsPerPage*(currentPage-1))


- MySql
    select *
    from freeboard
    Where 조건
    order by 정렬
    limit rowsPerPage*(currentPage-1), rowsPerPage;


* DAO의 페이지 리스트 검색 메서드

 




 

Java Web 실무과정] DTO/DAO 클래스 작성

Java Web 실무과정] DTO/DAO 클래스 작성


 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



DTO/DAO 클래스 작성


* DTO 클래스 작성

- public class DB테이블명


- 각 컬럼


: 프로퍼티로 정의
  - private 필드
  - public gettter,setter 메서드


- 참조 테이블(매핑B타입)


: ArrayList형의 프로퍼티로 정의


* DAO 클래스 작성

- public class DbtableNameDAO


- 기본 메서드


: int insert(param, …) / int insert(objDTO)
: int delete(param, …) / int delete(objDTO)
: int updateXXX(param, …) / int updateXXX(objDTO)
: ArrayList getList([param, …])
: long getCount([param, …])


- 기타 메서드 
 

Java Web 실무과정] DAO/DTO

Java Web 실무과정] DAO/DTO


 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



DAO/DTO


* DAO (Data Access Object)

- DB에 데이터를 검색/삽입/수정/삭제를 담당하는 개체
- MVC 모델에서 Model 영역에서 사용
- 일반적으로 DAO와 DB 테이블은 1:1, 1:n 매핑


* DTO (Data Transfer Object)


- DAO에서 메서드의 매개변수 또는 반환형으로 사용
- MVC간의 데이터 전달 목적으로 사용되는 객체
- 일반적으로 DTO와 DB 테이블는 1:1 매핑


* DAO/DTO 테이블 매핑A


- Table1과 Table2가 이종의 데이터일 경우
  
예: 고객과 상품 주문


- PK로서 대량의 FK를 검색할 경우



 

* DAO/DTO 테이블 매핑B


- Table2가 Table1의 확장 데이터일 경우
  
예: 고객과 고객 취미


- PK로서 소량의 FK를 검색할 경우
 

 

SQL 기초 및 PLSQL 실무 강좌 자료] 일반 함수 CASE 함수


SQL 기초 및 PLSQL 실무 강좌 자료] 일반 함수 CASE 함수


 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



일반 함수 CASE 함수


* CASE 함수


- CASE 함수는 DECODE 함수의 기능을 확장한 함수


- DECODE 함수는 표현식 또는 칼럼 값이 ‘=‘ 비교를 통해 조건과 일치하는 경우에만 다른 값으로 대치할 수 있지만,

CASE 함수에서는 산술 연산, 관계 연산, 논리 연산과 같은 다양한 비교가 가능


- 또한 WHEN 절에서 표현식을 다양하게 정의


- 8.1.7에서부터 지원되었으며, 9i에서 SQL, PL/SQL에서 완벽히 지원


- DECODE 함수에 비해 직관적인 문법체계와 다양한 비교 표현식 사용


* 사용법

 

 

* 사용 예

​- 교수 테이블에서 소속 학과에 따라 보너스를 다르게 계산하여 출력하여라. 학과 번호별로 보너스는 다음과 같이 계산한다. 학과 번호가 101이면 보너스는 급여의 10%, 102이면 20%, 201이면 30%, 나머지 학과는 0%이다.

 



 


SQL 기초 및 PLSQL 실무 강좌 자료] 일반 함수 DECODE 함수


SQL 기초 및 PLSQL 실무 강좌 자료] 일반 함수 DECODE 함수


 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



일반 함수 DECODE 함수


* DECODE 함수


- DECODE 함수는 기존 프로그래밍 언어에서 IF문이나 CASE 문으로 표현되는 복잡한 알고리즘을 하나의

SQL 명령문으로 간단하게 표현할 수 있는 유용한 기능


- DECODE 함수에서 비교 연산자는 ‘=‘만 가능


* 사용법

 

 


- 표현식 또는 칼럼의 값이 SEARCH1 값과 일치하면 RESULT1값을 반환, SEARCH2값과 일치하면 RESULT2 값 반환


- 일치하는 값이 없거나 NULL인 경우에는 기본값 반환


- 기본값이 없는 경우에는 NULL 반환


* DECODE 함수의 개념을 도식적으로 표현한 것이다.

 

 

* 사용 예

- 교수 테이블에서 교수의 소속 학과 번호를 학과 이름으로 변환하여 출력하여라. 학과 번호가 101이면 ‘컴퓨터공학과’, 102이면 ‘멀티미디어학과’, 201이면 ‘전자공학과’, 나머지 학과 번호는 ‘기계공학과’(default)로 변환한다.

 



 



SQL 기초 및 PLSQL 실무 강좌 자료] 일반 함수 NVL 확장 함수 : NVL2 함수


SQL 기초 및 PLSQL 실무 강좌 자료] 일반 함수 NVL 확장 함수 : NVL2 함수


 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



일반 함수 NVL 확장 함수 : NVL2 함수


* NVL2 함수


- NVL2 함수는 첫 번째 인수 값이 NULL이 아니면 두 번째 인수 값을 출력하고, 첫 번째 인수 값이 NULL이면

세 번째 인수 값을 출력하는 함수


* 사용법


 


- expression1 : NULL을 포함하는 칼럼 또는 표현식
- expression2 : expression1이 NULL이 아닐 때 반환되는 값
- expression3 : expression1이 NULL일 때 대체되는 값

* 사용 예

- 102번 학과 교수중에서 보직수당을 받는 사람은 급여와 보직수당을 더한 값을 급여 총액으로 출력하여라.

단, 보직수당을 받지 않는 교수는 급여만 급여 총액으로 출력하여라.

 

- SELECT ENAME ,SAL, COMM ,SAL+COMM , NVL2(COMM,SAL+COMM,SAL) , SAL+NVL(COMM,0)

FROM EMP ;



 


 

SQL 기초 및 PLSQL 실무 강좌 자료] 일반 함수 NVL 함수


SQL 기초 및 PLSQL 실무 강좌 자료] 일반 함수 NVL 함수


 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



일반 함수 NVL 함수


* NVL 변환 함수 : NVL

- NVL 함수는 NULL을 0 또는 다른 값으로 변환하기 위한 함수


* 사용법

 

 

 


- expression1 : NULL을 포함하는 칼럼 또는 표현식
- expression2 : NULL을 대체하는 값
- 주의 : expression1과 expression2는 반드시 동일한 데이터 타입이어야한다.

* 사용예 


201번 학과 교수의 이름, 직급, 급여, 보직수당, 급여와 보직수당의 합계를 출력하여라. 단,

보직수당이 NULL인 경우에는 보직수당을 0으로 계산한다.

 



자바교육. 4] 자바의 태동

 

자바교육. 4] 자바의 태동

 

 

 

 

 

 

구로오라클자바교육학원  www.oraclejava.co.kr

 

구로오라클자바교육학원  www.oraclejava.co.kr

 

 

안녕하세요 ~ 개발진 여러분 @!!@@@

 

저번 자바교육 시간에는 JDK에 대하여 배웠는데 한번 더 복습을 통해서 머리속에

꼭꼭 남겨두시길 바래요~!!!

 

오늘 자바교육 시간에는 '자바의 태동'에 대하여 알아볼 건데요 ~! 

이런 최초의 역사를 공부하는 시간이 정말 재밌는거 같아요 ~! 그럼 함께

자바교육 자바의 태동에 대해서 알아볼게요 ~!

 

*자바의 태동

 

자바의 태동은 최초 1991년으로 거슬러 올라가서 그린 프로젝트(Green Project)를 기초로 하여

선마이크로시스템즈이 제임스 고슬링(james Gosling)에 의해서 시작되었습니다. 가전제품에 들어갈

소프트웨어를 개발하기 시작하여 1995년에 자바를 발표하였는데,

자바의 태동의 목적으로는 플랫폼 호환성 문제를 해결하기 위함이었습니다.

 

자바의 태동의 호환성 문제로는 무엇이 있었는지 살펴볼게요~

 

첫째, 기존 언어로 작성된 프로그램으로는 PC, 유닉스, 메인 프레임 등 플랫폼 간에 호환성이 없었어요 ~

 

둘째, 소스를 다시 컴파일하거나 프로그램을 재작성해야 한다는 단점이 있었습니다.

 

위의 두가지 문제를 해결하기 위해서 자바를 발표하였는데요 ~

 

또한 모든 플랫폼에서 호환성을 갖는 프로그래밍 언어도 필요하고, 네트워크, 특히

웹에서 최적화된 프로그래밍 언어의 필요성이 대두되면서 플랫폼 독립적인 언어도

개발하게 되었어요~!

 

자바의 태동의 목적에 대한 이해가 되셨나요??

 

그렇다면 초기 자바의 이름은 뭐였을까요?

 

바로 오크(OAK) 였는데요,,,, 처음 듣고 정말 깜놀했어요....

 

인터넷과 웹의 엄청난 발전에 힘입어 퍼지게 된 웹브라우저 Netspace에서 실행되어

2009년에는 선마이크로시스템즈를 오라클에서 인수하였다고 해요~!!

 

 

이번 자바교육 시간에서 자바의 태동에 대해서 전반적으로 알아보았는데요 ~

어떠셨나요 ?  유익한 자바교육 시간이 되었나요?

 

다음 자바교육 시간에는 '플랫폼'에 대해서 알아볼게요 ~

 

 

 

 

 

 

+ Recent posts