
package com.project.board.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BoardVO {
private int b_no; //게시물 번호
private String title; //게시물 제목
private String content; //게시물 내용
private String writer; //작성자
private Date reg_date; //작성일
}
Lombok을 이용해서 BoardVO를 작성한다.
package com.project.board.mapper;
import com.project.board.bean.BoardVO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface BoardMapper {
List<BoardVO> getBoardList(); //게시물 리스트
BoardVO boardDetail(int b_no); //게시글 세부내용
int boardInsert(BoardVO board); //게시글 생성
int boardUpdate(BoardVO board); //게시글 수정
int boardDelete(int b_no); //게시물 삭제
}
interface로 파일을 생성하고 Mapper를 작성한다.
package com.project.board.service;
import com.project.board.bean.BoardVO;
import java.util.List;
public interface BoardService {
List<BoardVO> getBoardList();
BoardVO boardDetail(int b_no);
int boardInsert(BoardVO board);
int boardUpdate(BoardVO board);
int boardDelete(int b_no);
}
BoardService.jave
package com.project.board.service;
import com.project.board.bean.BoardVO;
import com.project.board.mapper.BoardMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class BoardServiceImpl implements BoardService{
@Autowired
BoardMapper boardMapper;
@Override
public List<BoardVO> getBoardList() {
return boardMapper.getBoardList();
}
@Override
public BoardVO boardDetail(int b_no) {
return boardMapper.boardDetail(b_no);
}
@Override
public int boardInsert(BoardVO board) {
return boardMapper.boardInsert(board);
}
@Override
public int boardUpdate(BoardVO board) {
return boardMapper.boardUpdate(board);
}
@Override
public int boardDelete(int b_no) {
return boardMapper.boardDelete(b_no);
}
}
BoardServiceImpl를 작성한다.

위와 같이 테이블을 작성해준다.
<?xml version="1.0" encoding="UTF-8"?>
<!-- mapper DTD 선언 -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--SQL Mapping>-->
<mapper namespace="com.project.board.mapper.BoardMapper">
<select id="getBoardList" resultType="com.project.board.bean.BoardVO">
SELECT * FROM board
ORDER BY b_no
</select>
<select id="boardDetail" parameterType="int" resultType="com.project.board.bean.BoardVO">
SELECT * FROM board
WHERE b_no = #{b_no}
</select>
<insert id="boardInsert" parameterType="com.project.board.bean.BoardVO" keyProperty="b_no">
INSERT INTO board(title, content, writer)
VALUES (#{title}, #{content}, #{writer})
</insert>
<update id="boardUpdate" parameterType="com.project.board.bean.BoardVO">
UPDATE board SET
<if test="title != null">title=#{title}</if>
<if test="title != null and content != null">,</if>
<if test="content != null">content=#{content}</if>
WHERE b_no=#{b_no}
</update>
<delete id="boardDelete" parameterType="int">
DELETE FROM board WHERE b_no=#{b_no}
</delete>
</mapper>
resoures/mapper/BoardMapper.xml 파일에 위와 같이 작성해준다.