MyBatis

MyBatis 시작하기 (기본 세팅하기)

블린더르 2019. 2. 2. 19:55

Mybatis란?

마이바티스는 개발자가 지정한 SQl, 저장 프로시저, 몇 가지 고급 매핑을 지원하는 영속성 프레임워크입니다.
JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 대신 해줍니다.

Mybatis 시작하기

mybatis.jar 파일 다운로드

마이바티스를 사용하기 위해서는 mybatis.jar 파일을 라이브러리에 넣어줘야 합니다.
mybatis.jar 를 들어가서 mybatis-3.5.0.zip 을 다운받자(19.2.2 기준)

압축파일 내에 있는 mybatis-3.5.0.jar 파일을 프로젝트 내에 WEB-INF/lib 폴더에 넣어줍니다.

XML catalog 추가

이클립스에서 Window - preferences - xml - xml catalog에서 User Specified Entries를 누르고 Add 버튼을 누릅니다.
config에 대한 설정입니다.

  location : http://mybatis.org/dtd/mybatis-3-config.dtd
  key type : public ID
  key : -//mybatis.org//DTD Config 3.0//EN

해당하는 칸에 위와 같이 내용을 적어준 후 OK 버튼을 누릅니다.

완료한 후 다시 Add 버튼을 누릅니다.
이번에는 mapper 에 대한 설정입니다.

  location : http://mybatis.org/dtd/mybatis-3-mapper.dtd
  key type : public ID
  key : -//mybatis.org/DTD Mapper 3.0//EN

위와 같이 적어준 후 OK 버튼을 누릅니다


두 가지가 등록된 것이 확인된 후에 Apply and Close 버튼을 눌러줍니다.

mybatis-config XML 파일 생성

다음은 xml 파일을 생성해줍니다.
프로젝트 내에 Java Resources에 우클릭 후 New - Source Folder 를 선택합니다.

Project name 은 Browse 버튼을 눌러서 해당 프로젝트 이름을 선택해주고
Folder name 에 resource 를 넣어준 후 finish 버튼을 누릅니다.

생성된 resource 폴더에 mybatis-config.xml 파일을 만들어주겠습니다.

resource 폴더에서 우클릭 후 New - other를 선택합니다.

xml로 검색하면 XML File 이 나옵니다. 선택합시다.


mybatis-config.xml이라고 이름을 적어준 뒤 Next 버튼을 누른 후에


맨 위에 DTD 파일을 선태한 후 Next 를 누릅니다


처음에 아무것도 없다고 당황하지 말고 XML Catalog entry 를 선택하면 XMl Catalog가 생깁니다.
아까 만들어준 DTD config를 선택합니다.(이미지 상 맨 위)


다음 화면에서 이미지처럼 되어있다면 잘 등록된 것입니다.(아니라면 오타를 찾아보세요)
Finish 를 누릅니다.

이제 mybaits-config.xml 파일을 열고 DB정보를 넣어줄겁니다.
태그 안에 다음과 같이 적어줍니다.

  <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
                <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
                <property name="username" value="[DB계정이름]"/>
                <property name="password" value="[비밀번호]"/>
            </dataSource>
        </environment>
        <mappers>
            <mapper resource="/mybatis/mapper/mybatis-mapper.xml"/>
        </mappers>
    </environments>

property name은 변경하시면 안됩니다.

environment id를 구분하여 여러 개의 DB를 등록할 수 도 있습니다.

SqlSessionTemplate 만들기

common 패키지를 만들고 SqlSessionTemplate 클래스를 만들어 줍니다.

    public static SqlSession getSession() {
        String resource = "/mybatis-config.xml";
        SqlSession session = null;
        try {
            InputStream is= Resources.getResourceAsStream(resource);
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            SqlSessionFactory factory = builder.build(is);
            session = factory.openSession(false);
        }catch(IOException e) {
            e.printStackTrace();
        }

        return session;
    }

위의 코드처럼 getSession 메소드를 만듭니다.
getSession 메소드는
위에서 만든 mybatis-config.xml 파일을 가져와서 SqlSession을 만드는 메소드입니다.
SqlSession 안에는 CRUD가 가능한 메소드들이 들어있습니다.

이제 mybatis를 사용하기 위한 기본적인 세팅은 끝입니다.
다음에는 mapper를 만들고 데이터를 삽입해보겠습니다.

반응형