댓글 데이터베이스 연동 레이어 만들기

InsertVO 만들기

 


/src/main/java/v2/mvc/spring/blog/vo/CommentInsertVO.java

package v2.mvc.spring.blog.vo;

public class CommentInsertVO {
    private int blgContSeq;
    private String cmtBdy;
    private String tmpPw;
    private int seqBlgCmt;

    public int getBlgContSeq() {
        return blgContSeq;
    }
    public void setBlgContSeq(int blgContSeq) {
        this.blgContSeq = blgContSeq;
    }
    public String getCmtBdy() {
        return cmtBdy;
    }
    public void setCmtBdy(String cmtBdy) {
        this.cmtBdy = cmtBdy;
    }
    public String getTmpPw() {
        return tmpPw;
    }
    public void setTmpPw(String tmpPw) {
        this.tmpPw = tmpPw;
    }

    public int getSeqBlgCmt() {
        return seqBlgCmt;
    }
    public void setSeqBlgCmt(int seqBlgCmt) {
        this.seqBlgCmt = seqBlgCmt;
    }
}
  1. blog.vo 패키지 아래에 CommentInsertVO 클래스를 생성합니다.
  2. 댓글 입력에 필요한 멤버변수들을 선언합니다.
  3. Generate getters and setters 메뉴를 통해 getter와 setter를 생성합니다.

매퍼 XML 만들기

 


/src/main/resources/sqlmap/TB_BLG_CMT_MAPPER_SQL.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="v2.mvc.spring.blog.mapper.CommentMapper">
    <insert id="insert" parameterType="v2.mvc.spring.blog.vo.CommentInsertVO">
        <selectKey keyProperty="seqBlgCmt" resultType="java.lang.Integer" order="BEFORE">
            select SEQ_BLG_CMT.NEXTVAL from dual
        </selectKey>
        <![CDATA[
        INSERT INTO TB_BLG_CMT
        (BLG_CMT_SEQ, BLG_CONT_SEQ, CMT_BDY, TMP_PW)
        VALUES
        (#{seqBlgCmt}, #{blgContSeq}, #{cmtBdy}, #{tmpPw, jdbcType=NVARCHAR})
        ]]>
    </insert>
</mapper>
  1. sqlmap 폴더 아래에 TB_BLG_CMT_MAPPER_SQL.xml 파일을 생성합니다.
  2. TB_BLG_CONT_MAPPER_SQL.xml 파일에서 <?xml 정의 라인부터 mapper 라인까지 복사합니다.
  3. 매퍼의 네임스페이스를 CommentMapper 로 변경합니다.
  4. TB_BLG_CONT_SQL.xml 파일을 열고 <insert 부터 </insert> 까지 복사해서 TB_BLG_CMT_MAPPER_SQL.xml 파일에 붙여넣습니다.
  5. <insert 태그의 parameterTypev2.mvc.spring.blog.vo.CommentInsertVO로 변경합니다.
  6. selectKey 태그의 keyProperty 속성을 seqBlgCmt 로 바꿉니다.
  7. selectKey 태그 내용의 쿼리를 댓글 시퀀스 이름인 seqBlgCmt 로 변경합니다.
  8. INSERT 구문을 입력합니다.

매퍼 인터페이스 만들기

 


/src/main/java/v2/mvc/spring/blog/mapper/CommentMapper.java

@Mapper
public interface CommentMapper {
    int insert(CommentInsertVO commentInsertVO);
}
  1. blog.mapper 패키지에 CommentMapper 인터페이스를 생성합니다.
  2. insert 메소드를 선언합니다.
  3. @Mapper 어노테이션을 붙입니다.
  4. 자동 불러오기를 통해 패키지를 불러옵니다.