개발자로 가는 길(국비지원과정)/2. Oracle

[210604금] 게시판 작업 완료 코드

레아Leah 2021. 6. 4. 21:53
반응형

있어야할 파일 및 클래스 

 

패키지

[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();
}
}

 

 

board.sql
0.00MB
boardMapper.xml
0.00MB
db.properties
0.00MB
mybatis-config.xml
0.00MB
replyMapper.xml
0.00MB

 

 

 

 

 

 

 

반응형