열심히 끝까지

[코딩 과제] - 9/26 강사님 문제 : 검색 기능 + DAO2 적용 본문

디바이스 융합 자바(Java)기반 풀스택 개발자 양성과정(과제)

[코딩 과제] - 9/26 강사님 문제 : 검색 기능 + DAO2 적용

노유림 2022. 9. 27. 09:33

BoardController.java-------------

	@RequestMapping("/main.do")
	public String main(@RequestParam(value="searchCondition", defaultValue="TITLE", required=false)String searchCondition, @RequestParam(value="searchContent", defaultValue="", required=false)String searchContent,BoardVO bVO, Model model){
		// 검색하는 것의 값을 자동매핑 불가(커맨드 객체에는 없기 때문에 불가)
		// java에서만 사용할 목적으로 BoardVO에 추가
		// >> 하지만 전체에서 딱 한번 쓰는 등의 너무 비효율적일 때, 사용하는 @
		//    ==> @RequestParam
		//        : 커맨드 객체에는 없는 파라미터를 Controller 클래스에 전달해주기 위해 사용
		
		// 검색을 위한 것
		if(bVO.getSearchCondition()==null) {
			bVO.setSearchCondition("TITLE");
		}
		if(bVO.getSearchContent()==null) {
			bVO.setSearchContent("");
		}
		System.out.println("검색조건: "+searchCondition);
	    System.out.println("검색어: "+searchContent);
		List<BoardVO> datas = boardService.selectAllBoard(bVO);
		
		
		model.addAttribute("datas", datas);
		// mVO = mDAO.selectOneMember(mVO);
		// model.addAttribute("userName", mVO.getName());
		return "main.jsp";
	}

 

BoardDAO2.java------------------

	// 글 모두 보기
	public List<BoardVO> selectAllBoard(BoardVO vo) {
		System.out.println("BoardDAO2 작동★");
		Object[] args = {vo.getSearchContent()};
		if(vo.getSearchCondition()==null) {
			return jdbcTemplate.query(sql_selectAll_T,args ,new BoardRowMapper());
		}
		else {
			return jdbcTemplate.query(sql_selectAll_W,args ,new BoardRowMapper());
		}
	}
	// 전체 및 검색 글을 보이는 내 방법
	public List<BoardVO> selectAllConditionBoard(BoardVO vo) {
		if(vo.getSearchCondition()==null) {
			vo.setSearchCondition("TITLE");
		}
		if(vo.getSearchContent()==null) {
			vo.setSearchContent("");
		}
		String sql_selectAll=sql_selectAll_T;
		if(vo.getSearchCondition().equals("WRITER")){
			sql_selectAll=sql_selectAll_W;
		}
		return jdbcTemplate.query(sql_selectAll, new BoardRowMapper(), vo.getSearchContent());	
	}