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 ..
목표: 마지막 페이지 구하기 JavaConsole 전체 코드 /* 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내의 개시글 개수 - 계속해서 변하..
목표: 게시글의 총 갯수를 구한다. 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내의 개시글 개수 */ ..
목표: 목록에서 이전 / 다음 구현하기 내부 프로그램부터 수정 /* program5.java */ package ex1; import java.sql.SQLException; import com.newlecture.app.console.NoticeConsole; public class program5 { /* 탑다운 방식 구현 */ public static void main(String[] args) throws ClassNotFoundException, SQLException { NoticeConsole console = new NoticeConsole(); //console객체가 page를 가지고 있는게 바람직하다. EXIT: while(true) { console.printNoticeList(); ..
목표: 페이징 쿼리 이용 /* NoticeService.java */ package com.newlecture.app.service; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import com.newlecture.app.entity.Notice; /* CRUD 서비스 목록을 반환하는 함수 */ publ..
목표 : 페이징을 위한 쿼리 만들기 Notice테이블 출력 SELECT * FROM NOTICE; 실행결과의 일련번호가 필요하다. 일렵번호를 ROWNUM을 사용해 출력 SELECT ROWNUM, NOTICE.* FROM NOTICE; 10줄만 출력을 위한 필터링 WHERE SELECT ROWNUM, NOTICE.* FROM NOTICE WHERE ROWNUM BETWEEN 1 AND 10; 2~10까지는 출력 불가. 이유 : rownum은 sql결과 셋에 순서를 부여하는 가상컬럼이다. fetch단계에서 추출하는 첫번째 row에 1을 부여하고, 이후 row가 추출될때마다 rownum의 값을 순차적으로 증가시킨다. 하지만 이 쿼리문에서는 rownum을 1-10까지 순서대로 증가시킬 경우라 출력이 가능하지만,..
목표 : 공지사항 메뉴 붙이기 /*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; public NoticeConsole() { service = new NoticeService(); } /* 내용 UI*/ public void printNoticeL..
목표 : 콘솔을 이용한 사용자 인터페이스 만들기 Notice를 관리하기 위한 console class 생성(UI) 동작을 위한 program5 Class생성 program5.java /* program5.java */ package ex1; import java.sql.SQLException; import com.newlecture.app.console.NoticeConsole; public class program5 { /* 탑다운 방식 구현 */ public static void main(String[] args) throws ClassNotFoundException, SQLException { NoticeConsole console = new NoticeConsole(); console.printN..