-
(국비교육) 40 - project1 이어하기8 + 6회차 시험개발/국비교육 2023. 7. 26. 14:49
■ SQL IF() 함수
참이기 때문에 '1은 1입니다.' 가 출력된다.
현재 시간을 알 수 있다.
현재 시간을 뒤에 형식처럼 찍을 것이다.
시간도 다음과 같이 표현 가능하다.
우리는 이제 오늘 쓴 글은 시간이 뜨고, 오늘 쓰지 않은 게시글은 날짜가 나오도록 표시할 것이다.
다음과 같이 나온다.
이제 다음과 같이 오늘 작성한 글은 시간,
이전에 작성 글은 날짜가 나오게 설정해준다.
초도 삭제할 수 있다.
이제 boardview 에 해당 if 구문을 넣어서 설정해주면 오늘글은 시간,
이전글은 날짜로 표신된다.
■ 전자정부 페이징
pageSize 는 다음 사진과 같이 하단의 페이지 건수 몇 개 담을 것인
전체 게시물 건 수 : 해당 페이지에 몇 개의 글이 있어요
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:ptl:view:paginationtag
총 162 개의 글이 있다.
168개가 있다면 10개씩 올림처리해서 총 17개 페이지가 나와야 한다.
10개씩 보여주는 것 총 2페이지가 나와야 한다.
■ 세팅하기
pom.xml 에서 저장소 저장해주고 전자정부 페이징 jar 넣어준다.
그러면 다음과 같이 3개 생성된 것을 확인 가능하다.
이제 해당 코드를 복사하고 root 에 복사해준다.
붙여넣어준다. 그러나 오류 뜬다.
왜냐면 해당 이름의 class 가 없기 때문이다.
class 로 써져있는 위치에 가서 해당하는거 만들어주고,
이름은 id 에 적힌 것으로 한다.
객체 세 개 만들어진다.
그런데 매니저 안에 이미지와 text 가 포함되어 있기 때문에
그래서 우리는 paginationManager 를 가져와 사용할 것이다.
클래스를 생성하고 다음과 같이 복붙해준다.
PaginationInfo 객체 생성해준다.
model 에 정보 담아준다.
※ 하단 오류 addALL이 아니라 추후 addAttribute 로 변경함
전체 게시글 가져오는 sql 문 작성한다.
160부터 10개
pageNo 라는 값 오면 int 타입으로 저장할게요.
따라서 해당 페이지 번호를 pageNo 값으로 넣어주면 된다.
넣으면 다음과 같이 나온다.
PageDTO 도 만들어준다.
롬복(lombok)은 알아서 getter setter 만들어준다.
page
별칭 등록해준다.
보드뷰에서 limit 10 삭제해준다.
해당 pageNo=번호 넣으면 해당하는 페이지가 동적으로 나온다.
객체 제대로 연결되었는지 확인 가능하다.
복사해준다.
그러나 오류 뜨는 것은 taglib 가 없기 떄문이다.
위에 붙여넣어준다.
해당 부분 /board 로 변경해주고 복붙한다.
이제 클릭하면 페이지가 이동이 된다.
* 에러해결
: 나의 경우 이동 경로를 ./board 로 설정해야 하는데 . 을 누락했다.
* 시험문제
[문항1] 다음은 RDBMS 기본 자료형에 대한 설명이다. 틀린 것은? 4번
1) int는 표준 정수값이다. 2) VARCHAR 타입은 최대 255문자를 저장한다. 3) 날짜 형식은 DATE 타입으로 지정한다. 4) 정수는 DOUBLE 타입으로 지정한다. [문항2] 다음은 주요 제약조건에 대한 설명이다. 이 중 옳은 것을 선택하시오. 2번
1) UNIQUE : 테이블에 저장된 데이터(행)는 중복을 허용한다. 2) PRIMARY KEY : UNIQUE 제약조건에 NOT NULL 제약조건이 합쳐진 것과 동일하다. 3) FOREIGN KEY : 입력 가능한 값의 범위 등을 제한한다. 4) CHECK: NULL 허용여부를 제한한다. [문항3] 다음은 테이블 생성 시 주의사항에 대한 설명이다. 이 중 틀린 것은? 2번
1) PRIMARY KEY는 데이터를 조회하거나 수정, 삭제하기 위한 조합으로 설정한다. 2) 테이블 및 필드명은 중복이 가능하다. 3) 제약 조건은 CONSTRAINT를 이용하여 추가한다. 4) 테이블 및 필드명은 숫자로 시작해서는 안된다. [문항4] 게시판 글 번호를 만들 때 주로 사용하는 것으로 중복되지 않은 유일한 숫자를 자동으로 생성하며 한번 삭제된 번호는 다시 저장되지 않는 기능을 가진 것을 무엇이라 하는가? 2번
1) 테이블 2) 기본키 3) 저장 프로시저 4) 데이터 타입 [문항5] 다음 조건에 맞는 View를 생성하시오.
EMP 테이블에서 사원 번호(empno), 이름(ename), 업무(job), 부서코드(deptno)를 포함하는 emp_view라는 VIEW를 생성하시오.
-> CREATE VIEW emp_view AS SELECT empno, ename, job, deptno FROM EMP;
[문항6] auto increment 에 대해 서술해주세요.
auto increment 는 데이터베이스에서 기본키를 생성하기 위해 사용되는 기능이다. 게시판 글 번호와 같이 중복 없이 유일한 값이 필요한 경우에 자동 증가 기능을 활용하여 번호를 자동 생성 가능하다 이를 통해 데이터 무결성과 데이터베이스 효율성을 향상시킬 수 있다.
한 번 삭제된 글번호는 복구할 수 없다.[문항7] if() 함수 사용법에 대해 서술해주세요.
: IF() 함수는 조건에 따라 값을 반환하는 함수로
IF(expr, true_value, false value) 로 쓴다.
expr 는 평가할 조건식 또는 값
true_value 는 조건식이 참일 경우 반환값
false_value 는 조건식이 거짓일 경우 반환값이다.
따라서 IF( 3 > 2 , 'T' , 'F' ) 라는 IF() 함수가 있다면 T 를 반환한다.[문항8] SQL문의 실행 순서를 바르게 나열해 주세요.
SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY
-> FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY
[문항9] RDBMS에서 두 테이블을 연결할때 사용하는 기법은? 3
1) UNION 2) WHERE 3) JOIN 4) EXCEPT [문항10] 쿼리문 속에 쿼리문을 삽입하는 것을 무엇이라고 하는가?
-> 쿼리문 속에 쿼리문을 삽입하는 것은 서브쿼리라고 한다.
'개발 > 국비교육' 카테고리의 다른 글
(국비교육) 42 - project1 이어하기10 (0) 2023.07.28 (국비교육) 41 - project1 이어하기9 (0) 2023.07.27 (국비교육) 39 - project1 이어하기7 (0) 2023.07.25 (국비교육) 38 - project1 이어하기6 (0) 2023.07.24 (국비교육) 37 - project1 이어하기5 + 로그인 기능 + 로그아웃 기능 (0) 2023.07.21