7월 19일
1.수정과 삭제 마저 처리하기
(1)modify.jsp 수정
이부분 수정해줌
왜?수정할때 pageNum 과 amount를 알아야 목록으로 돌아갈때 내가 보던 페이지로 갈수있음.
<input type='hidden' name='pageNum' value='${cri.pageNum}'>
<input type='hidden' name='amount' value='${cri.amount}'>
(2)BoardController 수정
modify 부분과 remove부분 수정
modify 와 remove는 Redirect로 이동하기 때문에 파라미터를 넘겨줄때
addAttribute 속성을 지정하여 넘겨줘야함
package com.keduit.controller;
@Controller //스프링의 Controller빈으로 인식할수 있게함.
@RequiredArgsConstructor //해당 어노테이션은 final로 선언한 변수를 찾아서 주입해줌
@RequestMapping("/board/*")
@Log4j
//아래 모든코드가 테스트코드까지 성공했으면, service에서 Controller 까지 넘어가는 거는 문제없다는게 유추됨
public class BoardController {
private final BoardService service;
@PostMapping("/modify")
public String modify(BoardVO board, Criteria cri, RedirectAttributes rttr) {
int count=service.modify(board);
if(count==1) rttr.addFlashAttribute("result","success");
rttr.addAttribute("pageNum", cri.getPageNum());
rttr.addAttribute("amount", cri.getAmount());
return "redirect:/board/list";
}
@PostMapping("/remove")
public String remove(@RequestParam("bno") Long bno, Criteria cri, RedirectAttributes rttr) {
int count=service.remove(bno);
if(count==1) rttr.addFlashAttribute("result","success");
rttr.addAttribute("pageNum", cri.getPageNum());
rttr.addAttribute("amount", cri.getAmount());
return "redirect:/board/list";
}
}
2.총 게시물 구하기
(1)BoardMapper 작성하기
package com.keduit.mapper;
public interface BoardMapper {
//나중에 검색할때 조건을 담아야 하므로 Criteria 매개변수로 받음
int getTotalCount(Criteria cri);
}
(2)BoardMapper.xml 작성하기
sql문중 count()는 전체행수를 나타냄
<?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="com.keduit.mapper.BoardMapper">
<select id="getTotalCount" resultType="int">
select count(bno) from t_board
</select>
</mapper>
(3)BoardService 작성하기
package com.keduit.service;
public interface BoardService {
int getTotal(Criteria cri);
}
(4)BoardServiceImpl 작성하기
package com.keduit.service;
@Service //스프링아 해당클래스는 빈으로 등록해죠
@Log4j
@RequiredArgsConstructor //해당 어노테이션은 final로 선언한 변수를 찾아서 주입해줌
@ToString
public class BoardServiceImpl implements BoardService{
private final BoardMapper mapper;
@Override
public int getTotal(Criteria cri) {
return mapper.getTotalCount(cri);
}
}
(5)BoardController 수정
@GetMapping("/list")
public void list(Criteria cri, Model model) {
log.info(cri);
log.info("list..........");
model.addAttribute("list",service.getList(cri));
model.addAttribute("pageMaker",new PageDTO(cri,service.getTotal(cri) ));
}