[Spring] 15. 댓글의 초기 MVC 구성개발자가 되기까지 (2023.08.16~2024.04.15)/[Spring] Basic Web2024. 1. 18. 10:01
Table of Contents
sql
CREATE TABLE comment (
cno BIGINT auto_increment,
bno BIGINT NOT NULL,
writer VARCHAR(100) NOT NULL,
content TEXT NOT NULL,
reg_at DATETIME DEFAULT now(),
mod_at DATETIME DEFAULT now(),
PRIMARY KEY(cno)
);
CommentVO class
package com.basicWeb.www.domain;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Setter
@Getter
public class commentVO {
private long cno;
private long bno;
private String writer;
private String content;
private String regAt;
private String modAt;
}
CommentController class
package com.basicWeb.www.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.basicWeb.www.service.CommentService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/comment/*")
public class CommentController {
private final CommentService scv;
}
CommentController의 어노테이션(@)은 BoardController에서 사용한 어노테이션(@)을 제외하고
설명하자면 다음과 같다. (https://rlog0918.tistory.com/343)
@RestController | @Controller 와 @ResponseBody를 함께 사용하는 것과 같은 기능을 한다. HTTP 요청을 받아서, 그에 따른 작업을 처리하고 다시 우리에게 맞는 응답을 보내주는 역할 |
@Controller와 @RestController의 차이는
@Controller는 HTML 페이지와 같은 뷰를 보여주는 역할
@RestController는 주로 JSON 형식으로 데이터를 주고 받는 역할
그렇다고 Controller가 비동기 작업을 못한다는 것은 아니고,
대체적으로 동기 작업을 하는 Controleller와 비동기 작업을 하는 Controller를 표시하기 위해서
사용하기도 한다.
CommentService interface
package com.basicWeb.www.service;
public interface CommentService{
}
CommentServiceImpl class
package com.basicWeb.www.service;
import org.springframework.stereotype.Service;
import com.basicWeb.www.repository.CommentDAO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service
@RequiredArgsConstructor
public class CommentServiceImpl implements CommentService {
private final CommentDAO cdao;
}
CommentDAO interface
package com.basicWeb.www.repository;
public interface CommentDAO {
}
commentMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.basicWeb.www.repository.CommentDAO">
</mapper>
[Spring] 15. 댓글의 초기 MVC 구성
(다음 게시물 예고편)
[Spring] 16. 댓글 - 생성 / 리스트
728x90
@rlozlr :: 얼렁뚱땅 개발자
얼렁뚱땅 주니어 개발자
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!