JAVA/Spring

게시판 CRUD

whyHbr 2022. 12. 6. 01:57
728x90
반응형

Controller

 

@Controller //어노테이션을 추가해 스프링의 빈으로 인식할 수 있게함

@Log4j //log4j 라이브러리를 사용한다.

@RequestMapping("/board") // /board로 시작하는 모든 처리를 BoardController 가 하도록 지정

@AllArgsconstrutor // 생성자를 만들고 자동으로 주입

 

public class BoardController {

 

private BoardSevice service;

 

//목록처리 list

@GetMapping("/list") //@RequestMapping 의 축약버전. GET방식에만 사용 가능 간편하지만 제약 많음 ,

localhast8080에 list 요청이 들어오면 아래 함수를 실행함.

public void list (Model mode) {

log.info("list");

model.addAttribute("list",service.getList() );

}

mapper: public List <BoardVO> getList(); 

service:public List <BoardVo> getList(); 

 

//등록처리와 테스트 

@PostMapping("/register") //@RequestMapping의 축약 버전,  ,register표현식과 일치하는 HTTP POST 요청을 처리

pubic String register ( BoardVO board, RedirectAttribute rttr) {

log.info("register :"+ board );

service.register (board);

rttr.addFlashAttribute("result",board.getBno() );

return "redirect:/board/list" ;

 }

mapper:  public void insert(BoardVO board);

service:  public void register( BoardVO board);

 

//조회 처리와 테스트

@GetMapping("/get") //@RequestMapping 의 축약버전. GET방식에만 사용 가능 간편하지만 제약 많음 ,

localhast8080에 list 요청이 들어오면 아래 함수를 실행함.

public void get(@RequestParam ("bno") Long bno, Model model) {

log.info("/get") ;

model.addAttribute("board", service.get(bno) );

}

mapper:  public BoardVO read(Long bno);

service:  public BoardVO get( Long bno); 

 

//수정처리와 테스트

@PostMapping ("/modify") //@RequestMapping의 축약 버전,  표현식과 일치하는 HTTP POST 요청을 처리

public String modify (BoardVO board, RedirectAttribute rttr) {

log.info("modify: "+board );

 

if (service.modify(board) ) {

  rttr.addFlashAttribute ("result" ,"success");

}

return "redirect:/board/list";

}

mapper:  public int update (BoardVO board); 

service:  public boolean modify (Board VO board); 

 

//삭제 처리 리스트

@PostMapping ("/remove") //@RequestMapping의 축약 버전,  표현식과 일치하는 HTTP POST 요청을 처리

public String remove (@RequestParam ("bno") Long bno, RedirectAttributes rttr) {

log.info("remove . . ."+ bno);

if (service.remove(bno) ) {

  rttr.addFlashAtrribute ("result" , "success");

}

return "redirect"/board/list" ;

}

}

mapper:  public int delete (Long bno);

service:  public boolean remove ( Long bno);

 

BoardMapper

public interface oBoardMapper {

public List <BoardVO> getList(); //목록 처리

 

public void insert(BoardVO board); // create(insert)  등록 처리와 테스트

public void insertSelectkey( BoardVO board); //create(insert) 등록 처리와 테스트

 

public BoardVO read(Long bno);// read (select) 조회 처리와 테스트

 

public int delete (Long bno);// delete  .remove? 삭제 처리와 테스트

 

public int update (BoardVO board); //update , modify?//수정처리와 테스트

}

 

 

BoardService

public interface BoardService {

 

public void register( BoardVO board); //등록 처리와  테스트

 

public BoardVO get( Long bno);  // 조회 처리와 테스트?

 

public boolean modify (Board VO board); //update? 수정처리와 테스트

 

public boolean remove ( Long bno); //delete? 삭제 처리와 테스트

 

public List <BoardVo> getList(); // 목록 처리

 

}

728x90

'JAVA > Spring' 카테고리의 다른 글

Spring MVC, DDD  (0) 2024.04.14
스프링의 주요 개념 : IoC, DI, Container, Bean  (0) 2024.04.14
Spring 구조와 @들 그리고 Controller-mapping-service  (0) 2022.12.04