SPRING - Mybatis 사용하기(3)
- SPRING
- 2018. 2. 13. 16:51
저번 포스팅에 이어서
남은 부분 이어서 하겠습니다
먼저 IDao.xml에 남은 부분들을 채우겠습니다
먼저 글작성과 글삭제를 추가했습니다.
쿼리문 안에 #{param1}은 파라미터가 들어가는 곳 입니다
이전에 우리는 dao 에서 insert 를 사용하기위해
PreparedStatement 를 사용했습니다
"insert into board (mId, mWriter, mContent) values (board_seq.nextval, ?, ?)";
이렇게 ? 값을 준후
밑에서 set을 해줬습니다. 하지만 xml 에서는 이렇게 하지못합니다
때문에 위 이미지처럼 #{param1} 처럼 사용합니다
이때 #와 $를 사용할수 있습니다
먼저 #을 붙이면 param1 값이 string 이나 int면
컬럼에 맞춰서 변화를 해서 값을 지정해줍니다
$면 string 이 오면 데이터베이스 타입에 상관없이
그대로 데이터베이스에 넣습니다.
다음 컨트롤러 수정해줍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | package com.spring.ex; import java.text.DateFormat; import java.util.Date; import java.util.Locale; import javax.servlet.http.HttpServletRequest; import org.apache.ibatis.session.SqlSession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.spring.ex.dao.ContentDao; import com.spring.ex.dao.IDao; @Controller public class HomeController { private static final Logger logger = LoggerFactory.getLogger(HomeController.class); //ContentDao dao; @Autowired private SqlSession sqlSession; //@Autowired //public void setDao(ContentDao dao) { //this.dao = dao; //} @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale, Model model) { logger.info("Welcome home! The client locale is {}.", locale); Date date = new Date(); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); String formattedDate = dateFormat.format(date); model.addAttribute("serverTime", formattedDate ); return "home"; } @RequestMapping("/list") public String list(Model model) { IDao dao = sqlSession.getMapper(IDao.class); //ArrayList<ContentDto> dtos = dao.listDao(); model.addAttribute("list", dao.listDao()); //model.addAttribute("list", dtos); return "/list"; } @RequestMapping("/writeForm") public String writeForm() { return "/writeForm"; } @RequestMapping("/write") public String write(HttpServletRequest request, Model model) { IDao dao = sqlSession.getMapper(IDao.class); dao.writeDao(request.getParameter("mWriter"), request.getParameter("mContent")); return "redirect:list"; } @RequestMapping("/view") public String view() { return "/view"; } @RequestMapping("/delete") public String delete(HttpServletRequest request, Model model) { IDao dao = sqlSession.getMapper(IDao.class); dao.deleteDao(request.getParameter("mId")); return "redirect:list"; } } | cs |
위와같이 26line, 33~36line 주석처리 해줍니다
다음 write 와 delete 를 list처럼 수정해줍니다
기존 72line 에서 사용하던 dao는 26line 에서 사용한
dao 였습니다. 하지만 그 26line의 전역변수로 선언된 dao가
필요없어지고 71line 에서 맵퍼를 사용해서 dao를 새로 선언합니다
다음 테스트를 해봅니다.
이렇게 Mybatis 를 이용해 위와같이 글을 작성하고
리스트를 불러오며 글삭제를 할수있습니다.
'SPRING' 카테고리의 다른 글
@RequestBody, @ResponseBody (0) | 2018.03.02 |
---|---|
JSON.stringify(); JSON.parse();사용하기 (0) | 2018.03.02 |
SPRING - Mybatis 사용하기(2) (0) | 2018.02.13 |
SPRING - Mybatis 사용하기(1) (0) | 2018.02.13 |
SPRING - 스프링 트랜잭션(3) (0) | 2018.02.08 |