JDBC
-
JDBC 검색 메뉴 구현하기JDBC 2022. 2. 4. 23:56
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 검색기능을 추가하기 위해 코드를 조금 수정해주었다. 검색어를 입력 받아서 거기에 맞는 조치를 취하기 위해 그 역할을 콘솔에게 맡기도록 하자 그런 다음 마우스 클릭해서 메서드를 생성 해준다. 검색을 하려면 입력을 받아야 하기 때문에 스캐너를 생성 해준다. 근데 이 searchWord는 혼자 쓰는것이 아니라 목록을 조회 할 때 printnoticelist가 쓸 내용이다. 그래서 리스트를 가져 올 때 printnoticelist에 다른 메서드와 공유해야하는 정보를 가지고 있어야 하기 때문에 멤버 변수로 생성 해줘야한다. 마우스를 클릭해서 멤버로 생성 해준다. 생성이 되면 기본값으로 null값이 생성이 되는데 우리는 기본값으로 null값이 아닌 ..
-
JDBC 마지막 페이지 구하기JDBC 2022. 2. 4. 23:06
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 레코드를 전체개수를 알아보는 COUNT 변수를 만들어보았는데 이것을 통해서 마지막 페이지와 현재 페이지를 구현해보자 현재 페이지의 경우에는 우리가 저번 시간에 page 변수를 선언 한 것을 이용하면 된다. 1,2 라고 적힌 부분을 마찬가지로 page 변수를 작성 해 준다. 그럼 이렇게 다음을 눌렀을 때에 페이지의 값이 변경이 되는 것을 확인 할 수 있다. 하지만 이렇게 되면 현재 몇번째 페이지만 알 수 있다. lasPage라는 변수를 줘서 마지막 페이지를 구해보자 이 lastPage 변수는 지역변수로 해야할지 전역변수로 해야할지 멤버변수로 해야할지 결정해야한다. 지난시간의 count의 경우에는 지역변수로 만들지 않고 멤버변수로 만들었었다...
-
JDBC 게시글 개수 구하기JDBC 2022. 2. 4. 22:00
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 우리가 만든 콘솔창에서는 몇개의 페이지 중에 몇번쨰 페이지인제 게시글의 개수도 알 수 없었다. 이것을 알려면 전체 테이블에 몇개의 데이터가 있는지 알아야 할 것이다. 이 개수를 알고 나면 몇번째가 마지막페이지인지 알 수 있을 것이다. NoticeService단에서 우리가 서비스 하는 모든것을 컨트롤 하고 있기 때문에 여기서 해결을 해 줘야한다. 우리는 여기에 개시 글 수를 직접 입력 해 두었는데 이것을 바꿔줘야한다. 여기서 사용 할 값을 구현 할 때 전체의 값이 몇개인지 하는 것은 콘솔 전역에서 멤버로 관리해야하기때문에 count라는 변수를 하나 선언 해준다 이것은 notice의 개수를 의미한다. count의 기본값을 선언하고 임의로 작성..
-
JDBC로 이전/다음 페이지 구현JDBC 2022. 2. 4. 21:36
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 목록이라는 것을 페이징이 가능해지면 이전 페이지와 다음페이지도 구현 할 수 있다. Switch문을 이용해서 이전/다음 페이지 공간을 만들어두었었는데 이전과 다음을 구현하기 위해서는 이전 페이지와 다음페이지를 구현하는 것은 현재 페이지가 이전페이지인지 다음페이지를 알고 있어야한다는 말인데 그러면 페이지를 기억하기 위한 상태 변수가 하나 필요하다. 이렇게 int page라는 변수를 두고 이전과 다음에 증감연산식을 사용하는 방법도 있을것이다. 하지만 이 방법 말고 다른 방법을 알아보도록 하자 현재 목록은 console에서 구현하고 있다. 이 console이 노티스에 대한 목록을 출력하고 있는데 NoticeConsole이 페이지를 구분하는 변수를..
-
JDBC 목록 View 생성JDBC 2022. 2. 4. 20:56
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 페이징 쿼리를 만들어서 자바에서 이용했었는데 자바에서 이용하기에는 문자열을 더해야하고 내려써야해서 좀 복잡한 감이 없지 않아 있었다. 이것을 좀 더 간편하게 이용하기위한 방법으로 View를 이용하는 방법이 있다 이게 페이징을 위해 만들었던 쿼리이다. 정렬이 된 상태에서 num을 붙여서 일련번호를 뽑는것인데 이런 형태의 테이블이 없었다. 이러한 형태의 테이블을 만들기 위해서는 View를 사용하면 된다. View를 만들어보자 CREATE VIEW라는 키워드를 이용해서 만들어주면 된다. 중간에 AS 키워드를 넣고 기존의 WHERE절을 빼고 넣어주면 된다 View 생성 완료 아까 만든 뷰 테이블에 WHERE절을 입력하면 원하는 결과값이 도출이 된..
-
JDBC 페이징 쿼리JDBC 2022. 2. 3. 20:17
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 페이징이란 이전 페이지 다음페이지나 페이지 숫자를 눌러서 페이지를 이동하는 것이다. 그게 가능하려면 쿼리를 조금 수정 해 줘야한다. 우선 NOTICE 테이블을 확인 해 보자 테이블에 데이터가 잘 들어가져있다.. 이것을 10개씩 쪼개서 나누는 작업을 해야한다. ID 앞에 붙어 있는 일련번호를 가지고 나누어 볼 수 있다. ROWNUM을 통해서 일련번호를 뽑아 볼 수 있다. 이렇게 뽑아지는 걸 볼 수 있다. 이 ROWNUM을 이용해서 1~10까지의 결과물을 뽑아내려면 WHERE절을 이용하면 된다. 1~10까지 잘 나오는 것을 확인 할 수 있다. 근데 그냥 이렇게만 해 주면 2부터 했을때는 출력이 안된다. 이 ROWNUM이라는 것은 WHERE절 ..
-
JDBC 콘솔로 간단한 게시판 목록 만들어보기JDBC 2022. 2. 3. 19:49
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 새로운 클래스를 하나 만들어준다. 그리고 program5 클래스를 하나 만들어준다, 여기서는 콘솔 입출력과 notice 관리를 위해 package ex11; import com.jae.app.console.NoticeConsole; public class Program5 { public static void main (String[] args) { //notice를 관리 할 콘솔 만들어주기 NoticeConsole console = new NoticeConsole(); //이 콘솔을 통해서 노티스의 목록을 프린트해달라고 요청하기 console.printNoticeList(); //노티스 목록의 메뉴를 입력 받는 것 하나 더 추가 메뉴를 입..
-
CRUD 클래스 생성하기JDBC 2022. 2. 3. 18:32
**유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다. 우리는 여태 앞에서 가장 기본적인 4가지인 SELECT, INSERT, UPDATE, DELETE를 해봤는데 이 것들을 CRUD라고 표현한다. C - INSERT (CREATE 작업) R - RETRIEVE (반환받는것) U - UPDATE D - DELETE 이다. 이것들을 다 다른 클래스로 만들었기때문에 재사용이 불가능했다. 재사용이 가능하게 하려면 메인함수에서 떼어내서 별도의 함수로 존재해야한다. 별로의 NOTICESERVICE를 만들고 거기에 CRUD를 모아서 만드는 것을 배워보자. noticeService라는 클래스를 생성해서 List함수 안에 처음에 만들었던 SELECT 코드를 복사해서 붙여넣기 해준다 . public class..