reply table 생성
--댓글
CREATE TABLE freereply(
rno NUMBER(10,0), --댓글번호 (PK)
bno NUMBER(10,0), --글번호 (FK)
reply VARCHAR2(1000),
reply_id VARCHAR2(50), --글쓴이
reply_pw VARCHAR2(50), -- 비밀번호
reply_date DATE DEFAULT sysdate, --등록일
update_date DATE DEFAULT NULL
);
CREATE SEQUENCE freereply_seq
START WITH 1
INCREMENT BY 1
MAXVALUE 1000
NOCYCLE
NOCACHE;
ALTER TABLE freereply
ADD CONSTRAINT freereply_pk PRIMARY KEY(rno);
bno 는 (foreignk key) 로 등록해야 하지만
개발 과정에서 불편한점이 있어 마지막에 추가해준다.
테이블 컬럼 명과 동일하게 ReplyVO 객체 생성
` private int rno;
private int bno;
private String reply;
private String replyId;
private String replyPw;
private Timestamp replyDate;
private Timestamp updateDate;
lombok 라이브러리를 사용해 getter,setter,toString 구현
mapper를 구현하기전 IReplyMapper 인터페이스를 생성한다 (MyBatis 필수 조건)
추상 메소드 선언.
void replyRegister(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);//댓글 삭제
IReplyService에 추상메서드를 복사해서 붙여넣는다.
IReplyService를 구현한 ReplyService를 생성한다. 아노테이션: service !!!! 작성
controller <> service <> mapper 구현 관계 이므로 service 객체에는 IReplyMapper 객체를 생성해준다
마찬가지로 controller 객체에도 IReplyservice 객체 생성
ReplyMapper를 작성 해 주었다.
컬럼명과 프로퍼티 이름을 resultMap으로 포장.
마이바티스 선언!
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.spring.myweb.reply.mapper.IReplyMapper">
<resultMap type="com.spring.myweb.command.ReplyVO" id="ReplyMap">
<result property="replyId" column="reply_id"/>
<result property="replyPw" column="reply_pw"/>
<result property="replyDate" column="reply_date"/>
<result property="updateDate" column="update_date"/>
</resultMap>