Spring reply

채상혁·2022년 2월 11일
1

Spring

목록 보기
8/18
post-custom-banner

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>
post-custom-banner

0개의 댓글