전체 글97 [SPRING] 검색 기능 구현 검색 기능은 검색조건과 키워드로 나누어 생각해 볼 수 있다. 검색할 때 검색조건은 총 세 가지로 할 것이다. 내용, 제목, 작성자. 이 세 가지 조건 중 단일조건만 사용해서 검색하거나, 두 가지 조건을 섞거나, 세 가지 조건을 섞어서 검색할 수도 있다. 어떻게 조합하여 검색하느냐에 따라 SQL의 쿼리문이 바뀔 것이다. 따라서, 쿼리문을 작성할 때 동적쿼리를 사용해야 한다. SQL 동적쿼리란 주어진 상황에 따라 쿼리문을 변경하는 것을 말한다. Reference ▶ https://mybatis.org/mybatis-3/ko/dynamic-sql.html 동적쿼리문은 아래와 같이 만들어 볼 것이다. title like '%'||#{keyword}||'%' content like '%'||#{keyword}.. 2022. 10. 13. [SPRING] 페이징 처리 페이징 조건 클래스 생성 목록 페이지에 행이 많아지면 무한스크롤이 돌게 된다. 그래서 페이지를 나누어 표시되도록 처리할 것이다. 페이징처리에는 여러 조건들이 필요하기 때문에 조건을 넣을 클래스를 만들어 처리한다. kr.icia.domain > new Class 생성 > name: Criteria package kr.icia.domain; import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class Criteria { private int pageNum; //현재 페이지 번호 private int amount;//페이지당 게시물 수 public Criteria() { thi.. 2022. 10. 13. [SPRING] 글쓰기/글읽기/글수정 페이지 구현 글쓰기 페이지 구현 board 폴더에 new jsp file 생성 > name: register.jsp list.jsp 에서 taglib, includes 코드를 복사한다. 그 외 다른 태그들은 모두 지우고 아래처럼 작성한다. 글쓰기 글쓰기 제목 내용 Writer Submit Button Reset Button 이 페이지에서는 태그를 이용해서 필요한 데이터를 전송한다. 이나 태그의 name속성은 BoardVO 클래스의 변수와 일치시켜준다. 글쓰기 폼으로 이동하기 이전에 BoardController에서 구현해놓은 "/register"는 실제로 글쓰기를 처리하는 부분이지만, 글쓰기 폼으로 넘어가기 위해선 Get방식으로 입력페이지를 넘어가도록 구현할 것이다. BoardController.java 를 열고 .. 2022. 10. 12. [SPRING] 화면처리 이제 실제로 눈에 보이는 페이지를 구현해볼 것이다. 화면처리는 JSP, JavaScript(jQuery), CSS, HTML 을 이용해서 작성한다. 디자인은 부트스트랩을 이용할 것이다. 해당 경로 아래에 new folder 를 생성한다. // name: board 생성된 폴더 아래에 new jsp file을 생성한다. //name: list.jsp body 소스 안에 "list page"라고 입력하고, window > Web Browser 를 chrome 으로 변경한다. (만약 Web Browser가 없다면, Preferences 에서 직접 검색하여 변경할 수도 있다.) 이제 웹페이지가 크롬으로 뜰 것이다. 이제 URL을 변경해볼 것이다. server 에서 Tomcat 창을 띄우고 아래 탭.. 2022. 10. 12. [SPRING] 프레젠테이션계층의 CRUD 구현 프레젠테이션 계층의 CRUD 구현하기 스프링 MVC에서 Controller는 하나의 클래스 내에서 여러 메소드를 작성하고 @RequestMapping 등을 이용해서 URL을 분기하는 구조로 작성할 수 있다. 따라서 Controller 클래스를 만들고, 필요한 만큼 메소드의 분기를 이용하는 구조로 작성할 것이다. 작성하기 전에, 원하는 기능을 호출하는 방식을 미리 정리해두면 좋다. Task URL Method Parameter From URL이동 전체목록 /board/list GET 등록 /board/register POST 모든항목 입력화면 필요 이동 조회 /board/get GET bno=123 삭제 /board/remove POST bno 입력화면 필요 이동 수정 board/modi.. 2022. 10. 12. [SPRING] 파일 Import 하기 2022. 10. 12. [SPRING] 비즈니스 계층 생성 비즈니스계층 비즈니스계층은 고객의 요구사항을 반영하는 계층으로, 프레젠테이션 계층과 영속 계층의 중간다리 역할을 한다. 주로 'Service'로 표현된다. 비즈니스 계층을 만들 때는, service 인터페이스와 그 인터페이스를 상속 받는 Implements 클래스를 생성한다. src/main/java > new InterFace > package: kr.icia.service / name: BoardService package kr.icia.service; import java.util.List; import kr.icia.domain.BoardVO; public interface BoardService { public void register(BoardVO board); //등록 public Boar.. 2022. 10. 12. [SPRING] 테이블 CRUD 구현 SQL Developer 에서 테이블 만들고 연동 테스트하기 sql developer를 실행하여 admin 계정으로 접속한 후 아래 쿼리문을 작성한다. // 게시판 테이블을 만들고 시퀀스로 일련번호를 만들고 만든 후 프라이머리키를 만드는 작업 CREATE SEQUENCE seq_board; CREATE TABLE tbl_board ( bno NUMBER(10, 0), title VARCHAR2(200) NOT NULL, content VARCHAR2(2000) NOT NULL, writer VARCHAR2(50) NOT NULL, regdate DATE DEFAULT sysdate, updatedate DATE DEFAULT sysdate ); ALTER TABLE tbl_board ADD CONSTRA.. 2022. 10. 12. 이전 1 ··· 6 7 8 9 10 11 12 13 다음