전체보기
-
10 댓글 기능 구현(1)Spring/03 MyBatis로 게시판 만들기 2023. 7. 27. 22:02
10 댓글 기능 구현(1) 1) DAO와 Service의 작성 - 댓글 기능 구현 순서 ① DB테이블 생성 ② Mapper XML 작성 ③ DAO 작성 & 테스트 ④ Service 작성 & 테스트 ⑤ 컨트롤러 작성 & 테스트 ⑥ 뷰(UI) 작성 & 테스트 >> 한번에 만들고 테스트X, 순서대로 만들면서 테스트 OK 2) 실습 ① DB테이블 생성 MySQL 테이블 생성 ② Mapper XML 작성 commentMapper.xml ③ DAO 작성 & 테스트 CommentDaoImpl.java >> 매퍼에 대한 메서드를 생성했다 >> CommentDao 추출(마우스 오른쪽→ Refactor → Extract interface) CommentDao.java CommentDto.java >> 기본생성자, 생성자 ..
-
09 REST_API와 AjaxSpring/03 MyBatis로 게시판 만들기 2023. 7. 25. 18:27
REST_API와 Ajax 1) JSON이란? - Java Script Object Notation - 자바 스크립트 객체 표기법 >> XML이 복잡하고 실제 데이터보다 Tag가 더 많다 좀더 간단하게 가자 → JSON { 속성명1 : 속성값1, 속성명2: 속성값2, ...} - 자바스크립트에서 객체 표기 [{속성명: 속성값, ...}, {속성명:속성값, ...}, ...] // 객체배열 {키1:{속성명:속성값, ...}, 키2:{속성명:속성값, ...}, ...} // Map 2) stringify( )와 parse( ) - JS를 객체를 서버로 전송하려면, 직렬화(문자열로 변환)가 필요 ①객체를 생성하면 메모리에 저장됨 Q. 생성된 객체를 저장하려면? ②값을 순서대로 하나씩 저장하는 수 밖에 없다 (..
-
08 게시판 검색 기능 추가하기(2)Spring/03 MyBatis로 게시판 만들기 2023. 7. 23. 14:00
게시판 검색 기능 추가하기(2) 1) 실습 - 게시판 검색 기능 추가하기(1) 2-1) 실습에서 이어진다 BoardServiceImpljava BoardService.java - Board 컨트롤러로 가기 전에 page와 pageSize을 SearchCondition.java에 만들어 주었다 (+option ,keyword) 따라서 PageHandler.java를 수정하여 Board 컨틀로러의 List를 변경한다 PageHandler.java(수정) >> SearchCondition.java에 page와 pageSize을 가지고 있고 추가로 option, keyword의 값을 가지고 있다\ >> 생성자에 doPaging( )호출하게 하였다 >> 이전에 page값을 sc.getPage( )와 sc.getP..
-
07 게시판 검색 기능 추가하기(1)Spring/03 MyBatis로 게시판 만들기 2023. 7. 21. 19:53
게시판 검색 기능 추가하기(1) 1) 게시판 검색 >> 검색을 누르면 option과 keyword가 컨트롤러에 전송 된다 이제까지는 page와 pageSize만 전송했지만 option과 keyword도 추가될 것이다 2) MyBatis의 동적 쿼리(1) - 과 - 공통 부분을 로 정의하고 로 포함시켜 재사용 2) MyBatis의 동적쿼리(2) - >> if else로 사용할 수 없고, if만 사용가능 >> A : 내용+제목, T : 제목, W : 작성자 >> WHERE true이가 들어간 이유 true가 없다면? WHERE AND가 SQL 문법 에러가 발생한다 그럼 AND가 없다면? 조건에 맞는게 여러개 일 수 있기 때문에 AND를 넣어줘야 한다 조건이 연결되려면 AND, OR가 연결되어야한다 ※ if문..
-
06 게시판 읽기, 쓰기, 삭제, 수정 기능 구현(2)Spring/03 MyBatis로 게시판 만들기 2023. 7. 18. 21:14
게시판 읽기, 쓰기, 수정, 삭제 구현(2) 1) 게시물 쓰기 기능의 구현(1) >> board.jsp에서는 게시글 읽기, 게시판 글쓰기 두 가지 용도로 사용 될 것이다 (1)게시글 읽기 일때는 속성값 : readOnly (2)게시글 글쓰기는 속성값 : readOnly 해제 >> write( )에서 글 쓰기일 때 mode=new를 board.jsp에 전달 mode=new로 (1)번과 (2)번을 구별한다 1-1) 실습 (쓰기 버튼 구현) boardList.jsp (테이블만 가져옴) boardController.java >> write( )에서 글 쓰기일 때 mode=new를 board.jsp에 전달 board.jsp(게시물 부분만 가져옴) >> bno의 변경하였다 결과 확인 >> 게시물 글쓰기에서는 글이나..
-
05 게시판 읽기, 쓰기, 삭제, 수정 기능 구현(1)Spring/03 MyBatis로 게시판 만들기 2023. 7. 16. 23:22
게시판 읽기, 쓰기, 수정, 삭제 구현 1) 기능별 URI 정의 >> URL : 전체 경로, URI : 일부 경로 2) 게시물 읽기 기능의 구현 2-1) 실습 BoardController.java( read메서드 추가) board.jap(작성) >> body부분만 가져왔고, 이전 boardList.jsp에서 테이블을 빼고 을 추가 결과 확인 >> board.jsp의 속성값을 readonly로 했다 >> URL창에 bno값을 입력해야된다 3) 목록 버튼 구현 >> 목록에서 /board/list GET요청을 주면 처음 페이로 돌아간다 >> 목록으로 돌아갈 때, 처음으로 돌아가는게 아니라 보던 페이지로 돌아가도록 구현 3-1) 실습 (목록 버튼 구현) boardList.jsp(테이블만 가져옴) >> 게시판 t..
-
04 게시판 목록 만들기와 페이징-TDD(2)Spring/03 MyBatis로 게시판 만들기 2023. 7. 14. 18:38
게시판 목록 만들기와 페이징-TDD(2) 게시판 목록 만들기 - 이전 『02 MyBatis로 DAO작성하기』의 실습에서 BoardDao.java와 BoardDto,BoardDaoImpl.java를 만들었다 - @Repository계층을 만듬 - 다음 과정은 @Service계층 만들 것이다 BoardDao.java (참고) BoardDaoImplTest.java(게시판 board DB에 데이터 값을 넣었다) 1) @Service 만들기 실습 BoardServiceImpl.java( com.fastcampus.ch4/service/BoardServiceImpl.java생성) ① @Autowired로 BoardDao를 주입 ② BoardDao.java의 메서드를 호출할 수 있도록 작성하였다 ③ 대부분의 메서드..
-
03 게시판 목록 만들기와 페이징-TDD(1)Spring/03 MyBatis로 게시판 만들기 2023. 7. 13. 21:21
게시판 목록 만들기와 페이징-TDD(1) 1) 게시물 목록 페이징 >> boardList.jsp에 작성하기 전에 TDD로 테스트 진행 2) LIMIT [offset,] row_count - LIMIT 10 , 10을 주면 아래와 같이 잃어옴 >> offset : 맨 처음부터 얼마만큼 떨어져있는가 row_count : 읽어올 row의 수 >> 1페이지 보려면 offset이 0이여야 한다 2페이지는 offset이 10이여야 한다 이 패턴으로 계산식을 만들면 (page-1)*10과 같다 3) 실습 PageHandler.java (com.fastcampus.ch4/domain/ PageHandler(생성) >> toString( ), getter and setter 추가 할 것 //처음 생각했을때 beginPa..