[210604금] 게시판 작업 완료 코드
있어야할 파일 및 클래스
패키지
[board.dao]
dao, service, ui, vo
▶ BoardDao.java
package board.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import board.vo.Board;
public class BoardDao {
SqlSessionFactory factory = MybatisConfig.getSqlSessionFactory();
public int insertBoard(Board board) {
SqlSession session = factory.openSession();
BoardMapper mapper = session.getMapper(BoardMapper.class);
int result = mapper.insertBoard(board);
session.commit();
return result;
}
public List<Board> selectAll() {
SqlSession session = factory.openSession();
BoardMapper mapper = session.getMapper(BoardMapper.class);
List<Board> list = mapper.selectAll();
return list;
}
public Board selectOne(int board_seq) {
SqlSession session = factory.openSession();
BoardMapper mapper = session.getMapper(BoardMapper.class);
Board board = mapper.selectOne(board_seq);
mapper.updateHitcount(board_seq); // 조회수 올리는 쿼리를 한번 더 호출 // update
session.commit(); // update를 했으므로 반드시 commit을 해야함!
return board;
}
public int deleteBoard(int board_seq) {
SqlSession session = factory.openSession();
BoardMapper mapper = session.getMapper(BoardMapper.class);
int result = mapper.deleteBoard(board_seq);
session.commit();
return result;
}
public List<Board> searchBoard(Map<String, Object> map) {
SqlSession session = factory.openSession();
BoardMapper mapper = session.getMapper(BoardMapper.class);
List<Board> list = mapper.searchBoard(map);
return list;
}
}
▶ BoardMapper.java
package board.dao;
import java.util.List;
import java.util.Map;
import board.vo.Board;
// 글등록, 글 전체 조회, 글 한 개 조회, 조회수 증가, 글 삭제, 글 검색, 글 수정
public interface BoardMapper {
// 글 등록
public int insertBoard(Board board);
// 전체 글 조회
public List<Board> selectAll();
// 글 한 개 조회
public Board selectOne(int board_seq);
// 조회수 증가
public int updateHitcount(int board_seq);
// 글 삭제
public int deleteBoard(int board_seq);
// 글 수정
public int updateBoard(Board board);
// 글 검색 (작성자, 제목, 글내용)
public List<Board> searchBoard(Map<String, Object> map);
}
▶ MybatisConfig.java
package board.dao;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
/**
* Mybatis의 환경 설정 읽고 객체 생성
*/
public class MybatisConfig {
private static SqlSessionFactory sqlSessionFactory;
// static 블럭 : 초기화 할 때 주로 사용
static {
String resource = "mybatis-config.xml"; // Mybatis 환경설정 파일 읽기. src 경로에 저장.
try {
Reader reader = Resources.getResourceAsReader(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}
}
▶ ReplyDao.java
package board.dao;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import board.vo.Reply;
public class ReplyDao {
SqlSessionFactory factory = MybatisConfig.getSqlSessionFactory();
public List<Reply> selectAll(int board_seq) {
SqlSession session = factory.openSession();
ReplyMapper mapper = session.getMapper(ReplyMapper.class);
List<Reply> list = mapper.listReply(board_seq);
return list;
}
public int insertReply(Reply temp) {
SqlSession session = factory.openSession();
ReplyMapper mapper = session.getMapper(ReplyMapper.class);
int result = mapper.insertReply(temp);
session.commit();
return result;
}
}
▶ ReplyMapper.java
package board.dao;
import java.util.List;
import board.vo.Reply;
public interface ReplyMapper {
// 댓글 전체 목록 ==> 특정 게시글에 대한 댓글 전체 목록을 의미
public List<Reply> listReply(int board_seq);
// 댓글 저장
public int insertReply(Reply reply);
}
[board.service]
▶ BoardService.java
package board.service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import board.dao.BoardDao;
import board.vo.Board;
public class BoardService {
BoardDao boardDao = new BoardDao();
public int insertBoard(Board board) {
int result = boardDao.insertBoard(board);
return result;
}
public List<Board> selectAll() {
return boardDao.selectAll();
}
public Board selectOne(int board_seq) {
return boardDao.selectOne(board_seq);
}
public int deleteBoard(int board_seq) {
return boardDao.deleteBoard(board_seq);
}
public List<Board> searchBoard(String searchItem, String searchWord) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("searchItem", searchItem);
map.put("searchWord", searchWord);
List<Board> list = boardDao.searchBoard(map);
return list;
}
}
▶ ReplyService.java
package board.service;
import java.util.List;
import board.dao.ReplyDao;
import board.vo.Reply;
public class ReplyService {
ReplyDao replyDao = new ReplyDao();
public List<Reply> selectAll(int board_seq) {
List<Reply> list = replyDao.selectAll(board_seq);
return list;
}
public int insertReply(Reply temp) {
return replyDao.insertReply(temp);
}
}
[board.ui]
▶ BoardMain.java
package board.ui;
public class BoardMain {
public static void main(String[] args) {
new BoardUI();
}
}