서비스 인터페이스 추가 개요 이번 챕터에서는 서비스 인터페이스를 추가합니다. 서비스란, 비즈니스 로직이 위치하는 곳입니다. 스프링 MVC 구조에서는 컨트롤러와 DAO를 연결하고, DAO 에 보낼 매개변수를 가공하거나, DAO에서 받은 결과를 가공해서 돌려주는 역할을 합니다. 자바의 인터페이스는 "설계"의 역할을 합니다. 인터페이스는 구현 클래스가 없고 메서드 시그니쳐(공개 범위, 메서드 이름, 매개변수, 반환값)만 정의하기 때문에 "구체적으로 어떻게 만들지는 모르겠지만 일단 이런 기능이 필요해"라는 것을 정의할 때 사용됩니다. 스프링 MVC에서 서비스 레이어는 인터페이스와 클래스를 함께 사용합니다. 스프링은 직접 클래스를 생성하는 것을 지양하고 인터페이스를 통해 접근하는 것을 권장하는 프레임워크이기 때문..
DAO 클래스에 insert 메서드 작성 개요 DAO 클래스에서 매퍼 XML의 쿼리를 실행하는 방법을 알아봅니다. insert 메서드 추가 /src/main/java/v2/mvc/spring/blog/dao/BlogDAO.java public int insert(Map map) { int result = this.sqlSessionTemplate.insert("TB_BLG_CONT.insert", map); if (result > 0 && map.containsKey("seq_blg_cont")) { return (int) map.get("seq_blg_cont"); } return -1; } BlogDAO 클래스에 insert 메서드를 입력합니다. 자동 불러오기(ctrl + shift + o) 단축키를..
DAO 클래스 생성 개요 DAO 클래스는 Data Access Object의 약자로, 이름처럼 "데이터에 접근하는 객체" 입니다. 매퍼 XML에 작성한 쿼리를 실행시키기 위해 작성하므로 매퍼 XML과 한 쌍입니다. DAO 패키지 생성 src/main/java 아래에 v2.mvc.spring.blog.dao 패키지를 생성합니다. 패키지 계층 형식으로 보기 활성화 패키지 탐색기 오른쪽에 세로로 점 세개가 나 있는 아이콘을 누릅니다. Package Presentation을 선택합니다. Flat으로 선택되어 있는 항목을 Hierarachical 로 변경합니다. 패키지 계층 형식로 보기 결과 v2.mvc.spring > blog > 아래에 controller와 dao가 위치한 것을 확인합니다. BlogDAO 클래..
블로그 컨텐츠 매퍼 XML 생성 개요 데이터베이스에 요청할 쿼리를 작성할 매퍼 XML 을 작성해 보겠습니다. 이번 챕터에서는 블로그 컨텐츠에 데이터를 입력하는 쿼리를 작성합니다. 매퍼 폴더 생성 메뉴 진입 src/main/resources 디렉토리를 우클릭합니다. new를 선택합니다. Folder를 선택합니다. 매퍼 폴더 생성 New Folder 메뉴에서 폴더 이름을 sqlmap으로 지정합니다. Finish를 선택합니다. 매퍼 폴더 위치 확인 매퍼 폴더가 src/main/resources > sqlmap 경로에 있는지 확인합니다. XML 파일 생성 메뉴 진입 src/main/resource 아래 sqlmap 패키지를 우클릭합니다. New 를 누릅니다. Other를 선택합니다. XML 파일 타입 검색 파일..
데이터베이스 관련 자바 빈 설정 개요 스프링에서 데이터베이스에 접속하기 위해서는 최소한 세개의 자바 빈이 필요합니다. 데이터소스 빈 : 스프링에서 데이터베이스에 접속하기 위한 접속 정보를 뜻합니다. sqlSessionFactory 빈 : 데이터베이스와 연결을 맺고 끊어질 때까지의 라이프 사이클을 관리하는 sqlSession 객체를 만듭니다. sqlSessionTemplate 빈 : 데이터베이스에 개별적으로 쿼리를 실행시키는 객체입니다. root-context.xml 파일 복사 패키지 탐색기에서 root-context.xml 파일을 복사합니다. 우클릭 후 Copy를 클릭하거나 ctrl + c를 누릅니다. root-context.xml 붙여넣기 src/main/webapp/WEB-INF/spring 폴더를 ..
데이터베이스 라이브러리 설정 개요 스프링에서 데이터베이스에 접속하기 위해서는 추가 라이브러리가 필요합니다. 우리는 마이바티스(MyBatis)라는 라이브러리를 써서 데이터베이스에 접근하는 방식을 취하겠습니다. 마이바티스는 DBMS에 전달할 쿼리를 XML 방식으로 다루게 해 주는 SQL 매퍼입니다. 경험상 스프링으로 구성된 프로젝트는 마이바티스(혹은 마이바티스의 옛 이름인 아이바티스-ibatis)를, 스프링 부트를 사용하는 프로젝트는 JPA를 사용하는 경향이 있습니다. 우리는 스프링 MVC을 배우고 있으므로 마이바티스를 이용해 쿼리를 직접 다루는 방법을 익혀보겠습니다. 데이터베이스 라이브러리 추가 org.mybatis mybatis 3.5.13 org.mybatis mybatis-spring 2.1.1 or..