728x90
반응형

SpringFramework/Board게시판 3

미완성 [Transaction]게시물을 읽으면 조회수가 증가되는 로직 및 호출위치

게시물을 읽었을 때 조회수가 자동으로 올라가게 하기 위해서는 컨트롤러에서 굳이 게시글을 뿌려줄때 메서드를 호출할 필요 없습니다. 게시글을 불러오는 메서드가 실행되었을때 Service쪽에서 추가적으로 조회수가 증가되는 코드를 실행되도록 구현하는게 이상적입니다. 이렇게되면 컨트롤러에서 직접 호출하지 않기때문에 Service interface에서 추상메서드를 구현하지않고 Service클래스의 게시글을 불러오는 로직에 추가적인 작업을 부여하도록 합니다. @Service public class BoardService implements IBoardService { @Inject private IBoardMapper mapper; @Override public BoardVO getArticle(Integer boa..

새로 생성한 게시물 제목에 new 마크 붙히기

우선 게시물이 등록된 시간을 판단하기 위해서는 reg_date라는 컬럼을 읽어야합니다. 사용자가 게시물 목록요청을 했을 때 DB로부터 읽어들인 목록 안에 들어있는 reg_date 컬럼을 읽습니다. 읽힌 reg_date 컬럼의 값과 현재시간을 읽은 후 둘의 차이를봐서 만약 그게 하루 미만이면 new마크를 붙히는 증표를남기고 3일 이내의 게시물에 처리한다면 3일 미만인지 시간차를 봐서 지정한 기간 내의 게시글이라면 new마크를 붙힐 수 있는 논리적 증거를 vo에 처리하고 화면쪽에서 그 증표를 보고 html로 new를 만들 지 안만들지를 구현합니다. BoardVO에 newMark 필드 추가 public class BoardVO { private Integer boardNo; private String titl..

[미완성] 페이징 쪽나누기 (rowNum 쿼리 해설 완성)

@GetMapping("/list") public String list(Model m, HttpServletRequest request, @ModelAttribute PageVO b) throws Exception{ /* 페이징 => 쪽나누기 코드 추가*/ int page = 1; //현재 쪽수 번호 int limit = 10; //한페이지에 보여지는 목록개수 if(request.getParameter("page")!=null) { //get으로 전달된 쪽 번호가 있는 경우 page = Integer.parseInt(request.getParameter("page"));//전달 받은 페이지번호(쪽번호)를 정수 숫자로 바꿔서 저장시킴. } //예를들어 현재페이지가 3페이지면 임의의 번호값 컬럼에서 31번부..