▷ src/main/resources/ 우클릭 → new → folder → sqlmap 디렉터리 생성
폴더와 XML파일을 아래와 같이 생성합니다.
◎ sqlmap 디렉터리 → new → other → XML 파일 → book_SQL.xml
◎ book_SQL.xml 내용 작성(책 입력 기능 쿼리 작성)
<?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="book"><insert id="insert" parameterType="hashMap" useGeneratedKeys="true" keyProperty="book_id"><![CDATA[insert into book(title, category, price)values(#{title}, #{category}, #{price})]]></insert></mapper>
3. 책 DAO 클래스 생성
▷ 매퍼 XML을 실행시키는 DAO(Data Access Object) 클래스를 생성
◎ src/main/java → sample.spring.codehows 패키지 우클릭 후 BookDao 클래스 생성
package sample.spring.codehows;import java.util.Map;import org.mybatis.spring.SqlSessionTemplate;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Repository;@RepositorypublicclassBookDao{@AutowiredSqlSessionTemplate sqlSessionTemplate;// 책 데이터 입력 쿼리를 실행하는 DAO 메소드publicintinsert(Map<String, Object> map){returnthis.sqlSessionTemplate.insert("book.insert", map);}}
4. 책 서비스 클래스 생성
▷ 서비스 클래스는 비즈니스 클래스가 위치하는 곳. 스프링MVC 구조에서 서비스 클래스는 컨트롤러와 DAO를 연결하는 역할
◎ src/main/java → sample.spring.codehows 패키지 우클릭 후 BookServiceImpl 클래스 생성
package sample.spring.codehows;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;@ServicepublicclassBookServiceImplimplementsBookService{@AutowiredBookDao bookDao;// 책 입력 기능 서비스 클래스 메소드 생성@Overridepublic String create(Map<String, Object> map){intaffectRowCount=this.bookDao.insert(map);if(affectRowCount == 1){return map.get("book_id").toString();}returnnull;}}
위와 같이 오류난 부분에 마우스를 올린 후 BookService 인터페이스를 만들어줍니다.
▷ 경로 : src/main/java → sample.spring.codehows→ BookController 클래스 생성
package sample.spring.codehows;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.servlet.ModelAndView;@ControllerpublicclassBookController{@RequestMapping(value="/create", method=RequestMethod.GET)public ModelAndView create(){returnnewModelAndView("book/create");}// 책 입력 기능 컨트롤러 서비스 빈 추가@AutowiredBookService bookService;// 책 입력 기능 컨트롤러 메소드 추가@RequestMapping(value = "/create", method= RequestMethod.POST)public ModelAndView createPost(@RequestParam Map<String, Object> map){ModelAndViewmav=newModelAndView();StringbookId=this.bookService.create(map);if(bookId == null){mav.setViewName("redirect:/create");}else{mav.setViewName("redirect:/detail?bookId=" + bookId);}return mav;}}
7. 브라우저 접속 : http://localhost:8080/create
값을 입력하고 저장을 누르면 아래와 같이 404에러가 나타나지만 SQL에는 데이터가 입력된 것을 확인할 수 있습니다.
◎ 데이터가 입력된 테이블 확인
create jsp파일을 생성한 것을 xml 파일을 통해 데이터베이스 작성하고 연결하면 됩니다.