Spring/03 MyBatis로 게시판 만들기
-
12 댓글 기능 구현(4) 쓰기,수정 버튼 만들기Spring/03 MyBatis로 게시판 만들기 2023. 8. 1. 22:54
댓글 기능 구현(4) ⑥ 뷰(UI) 작성 & 테스트 - 댓글 쓰기 버튼 만들기 test.jsp(쓰기 버튼 만들기) >> 임시로 입력 받을 태그를 만들어 주었다 >> 기존의 SEND버튼이 쓰기 버튼의 역할도 한다 결과 확인 >> 쓰기가 생성되었다 >> stringify로 문자열로 변환하여 CommentController.java의 @RequestBody CommentDto commentDto에 전달된다 - 댓글 수정 버튼 만들기 test.jsp(수정 버튼 만들기) >> 주의할점은 class=modBtn 과 id=modBtn 다르다는 것에 유의하자 >> 여기서 this는 “.modBtn"을 의미 >> 참고 결과 확인 >> 수정 버튼을 누르면 ① comment의 내용이 comment: 에 전달된다 ② 수정(“..
-
12 댓글 기능 구현(3) 출력, 삭제 버튼 만들기Spring/03 MyBatis로 게시판 만들기 2023. 8. 1. 00:01
댓글 기능 구현(3) ⑥ 뷰(UI) 작성 & 테스트 - 댓글 화면에 출력하기 test.jsp (출력 버튼 만들기) >> json으로 전달하기 위해 주석처리하였다 SimpleRestController.java CommentController.java >> List 메서드를 사용해서 출력해볼 예정 결과 확인 >> Preview로 봤을 때 값이 들어온걸 확인할 수 있다 >> 문제는 http의 body에 출력되지 않는다 >> Sources에서 해당 $(“#commentList").html(result);에 중단점을 걸었다 >> Console에서 result의 값을 찍어보았다 정상적으로 값은 들어왔다 >> 버튼 동작과 임의 값 "asdf" 넣어봤다 이상없이 동작하고 "asdf“ 화면에 출력된다 >> 문자열이 아니..
-
11 댓글 기능 구현(2)Spring/03 MyBatis로 게시판 만들기 2023. 7. 28. 18:23
댓글 기능 구현(2) ⑤ 컨트롤러 작성 & 테스트 CommentController.java (List 메서드 생성) >> @ResponseBody를 써서 views에 출력하지 않고 HTTP의 Body에 문자 내용을 직접 반환한다 결과 확인 MySQL >> 각각의 테이블에 데이터를 넣었다 >> 데이터가 들어온걸 확인 할 수 있다 >> json으로 데이터가 들어왔다 - 예외가 발생한다면? CommentServiceImpl.java 결과 확인 >> HTTP의 Body에는 아무것도 출력되지 않고, 응답헤더는 200번대가 출력된다 - 해결책 ResoponseEntity( ) CommentController.java >> Entity는 응답이나 요청할 때, 전송할 대상을 Entity라고 한다 >> 원래는 En..
-
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의 변경하였다 결과 확인 >> 게시물 글쓰기에서는 글이나..