-
mywebprojectSPRING 2022. 2. 11. 17:11
쌤과의 마지막 프로젝트라고 하네요!
이번 프로젝트에서는 일단 댓글 구현부터!
댓글을 구현할 게시판은 전과 동일하게 코드를 작성해 주고, 여러 세팅들을 만져준 다음,
replyVO, IReplyService, IReplyMapper를 설정해 줍니다.
package com.spring.myweb.reply.mapper;import java.util.List;import java.util.Map;import com.spring.myweb.command.ReplyVO;public interface IReplyMapper {void replyRegist(ReplyVO vo); //댓글 등록List<ReplyVO> getList(Map<String, Object> data); //목록 요청int getTotal(int bno);//댓글 개수int pwCheck(ReplyVO vo);//비밀번호 확인void update(ReplyVO vo);//댓글 수정void delete(int rno);//댓글 삭제}아참, pageVO는 저번 프로젝트에서 복붙했습니다.댓글을 작성하기 위해 게시판에 글이 등록되어 있어야 하니까 임의의 글들을 등록해 줍니다.
<mapper namespace="com.spring.myweb.command.freeBoard.mapper.IFreeBoardMapper"><insert id="regist">INSERT INTO freeboard(bno, title, writer, content)VALUES(freeboard_seq.NEXTVAL, #{title}, #{writer}, #{content})</insert><select id="getList" resultType="com.spring.myweb.command.FreeBoardVO">SELECT * FROM(SELECT ROWNUM AS rn, tbl.* FROM(SELECT * FROM freeboardORDER BY bno DESC) tbl)<![CDATA[WHERE rn > #{pageNum} - 1) * #{countPerPage}AND rn <= #{pageNum} * #{countPerPage}]]></select><select id="getTotal" resultType="int">SELECT COUNT(*)FROM freeboard</select><select id="getContent" resultType="com.spring.myweb.command.FreeBoardVO">SELECT * FROM freeboardWHERE bno = #{bno}</select></mapper>댓글 또한 sql과 연동해서 올라갈 테니 작성해 줍니다.<mapper namespace="com.spring.myweb.reply.mapper.IReplyMapper"><insert id="replyRegist">INSERT INTO freereply(rno, bno, reply, reply_id, reply_pw)VALUES(freereplay_seq.NEXTVAL, #{bno}, #{reply}, #{replyId}, #{replyPw})</insert></mapper>리스트에서 제목을 누르면 상세페이지로 이동할 텐데, 거기서 댓글을 달겠죠?<script>$(document).ready(function(){$('#replyRegist').click(function(){const bno = $'{article.bno}'; //컨트롤러에서 넘어온 게시글 번호const reply = $('#reply').val(); //댓글 내용const replyId = $('#replyId').val(); //작성자const replyPw = $('#replyPw').val(); //비밀번호if(reply === '' || replyId === '' || replyPw === ''}]){alert('이름, 비밀번호, 내용을 입력하세요.');return;}$.ajax({type: 'POST',url : '<c:url value="/reply/replyRegist" />',data : JSON.stringify({"bno":bno,"reply":reply,"replyId":replyId,"replyPw":replyPw}),dataType: 'text', //서버로부터 어떤 형식으로 받을지 (생략 가능)contentType : 'application/json',success : function(data){console.log('통신 성공!: ' + data );$('#reply').val('');$('#replyId').val('');$('#replyPw').val('');getList(); //등록 성공 후 댓글 목록 함수를 호출해서 비동기식으로 목록을 표현},error : function(){alert('통신 실패!');}});}); //end jQuery</script>일단 여기까지 하고 수업이 마쳤습니다. 복습 필수우..'SPRING' 카테고리의 다른 글
MyWeb (0) 2022.02.15 MyWeb (0) 2022.02.15 springwebmvcproject (0) 2022.02.10 springwebmvcproject (0) 2022.02.09 springwebmvcproject (0) 2022.02.08