문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) F..
문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) F..
문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) F..
목표: getPrevNotice 메서드의 SQL 쿼리를 작성한다. ID가 5인 NOTICE의 REGDATE가 NOTICE의 REGDATE보다 작은 ID를 출력 -> 2, 3, 4로 출력되어있다. 4가 출력해야 하는데 순서가 반대로 되어있다. NOTICE를 REGDATE로 역 정렬한 후의 NOTICE내의 REGDATE와 ID가 5인 REGDATE보다 작은 경우의 아이디를 출력 -> 4, 3, 2 순으로 잘 정렬되어있다. SQL 코드: getPrevNotice함수 구현 SELECT ID FROM (SELECT * FROM NOTICE ORDER BY REGDATE DESC) WHERE REGDATE < (SELECT REGDATE FROM NOTICE WHERE ID=5) AND ROWNUM = 1 SELE..
목표: getNextNotice 메서드의 SQL 쿼리를 작성한다. SQL 코드: getNextNotice함수 구현 SELECT * FROM NOTICE WHERE ID = ( SELECT ID FROM NOTICE WHERE REGDATE > (SELECT REGDATE FROM NOTICE WHERE ID=3) AND ROWNUM = 1); SELECT * FROM NOTICE ☞ NOTICE의 모든 데이터를 가져온다. WHERE ID = ( ☞ ID 값이 서브쿼리 인 경우를 선택한 후 SELECT ID FROM NOTICE ☞ NOTICE의 ID를 선택하는 서브 쿼리 WHERE REGDATE > (SELECT REGDATE FROM NOTICE WHERE ID=3) ☞ ID가 3인 NOTICE로부터 ..
목표: getNoticeList메서드 SQL 쿼리를 작성한다. SQL 코드: SELECT * FROM( SELECT ROWNUM NUM, N.* FROM (SELECT * FROM NOTICE ORDER BY REGDATE DESC) N ) WHERE NUM BETWEEN 6 AND 10; SELECT * FROM( ☞ 전체 데이터를 가져온다 SELECT ROWNUM NUM, N.* ☞ ROWNUM의 별칭 NUM과 아래의 서브 쿼리 전체 별칭 N의 데이터를 가져오는 서브 쿼리 FROM (SELECT * FROM NOTICE ORDER BY REGDATE DESC) N ) ☞ NOTICE내의 데이터를 REGDATE의 역순으로 정렬한 모든 데이터를 가져오는 별칭 N인 서브 쿼리내의 서브쿼리 WHERE NUM..
public void inputSearchWord() { Scanner scan = new Scanner(System.in); //함수안에서 다른곳과 공유안하는게 좋다. 공유안해도되는거면 안하는게 낫다 System.out.println("검색 범주(title/content/writer_Id)중에 하나를 입력하세요"); System.out.println(">"); searchField = scan.nextLine(); System.out.print("검색어 > "); searchWord = scan.nextLine(); } 목표: 검색 메뉴 구현 program5.java 전체 코드 /* program5.java */ package ex1; import java.sql.SQLException; import ..
목표: 게시글의 총 갯수를 구한다. NoticeConsloe 전체 코드 /* NoticeConsole.java */ package com.newlecture.app.console; import java.sql.SQLException; import java.util.List; import java.util.Scanner; import com.newlecture.app.entity.Notice; import com.newlecture.app.service.NoticeService; public class NoticeConsole { private NoticeService service; /* page를 가질 수있는 상태변수 page추가*/ private int page; /* page내의 개시글 개수 */ ..