본문 바로가기

웹개발

[MyBatis/iBatis] 초간단 환경 설정

ibatis가 구글재단으로 넘어가면서 mybatis로 이름이 변경되었습니다.

http://mybatis.org/

10분만에 설정하는 초간단 셋팅을 공유하고자 합니다.

테스트환경
이클립스 3.5
JDK 1.6
tomcsat 5.5
mybatis3.0.1

1. 위 mybatis 사이트에가서 mybatis 라이브러리를 /WEB-INF/lib 폴더에 넣습니다.
    mybatis-3.0.1.jar

2. /src 폴더 아래 환경파일을 생성합니다. (위치는 아무곳에나해도 상관없습니다.)
    mybatisConf.xml
 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
 <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:@IP:1521:orcl" />
    <property name="username" value="IP" />
    <property name="password" value="PASS" />
   </dataSource>
  </environment>
 </environments>
 <mappers>
  <mapper resource="BlogMapper.xml" />
 </mappers>
</configuration>

   빨간색부분을 본인DB에 맞게 설정하시면 됩니다. 

3. /src 폴더 아래 실제 쿼리가 들어가있는 BlogMapper.xml 을 작성합니다.
    BlogMapper.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="BlogMapper">
 <select id="selectBlog" parameterType="int" resultType="com.mybatis.Blog">
  select *
  from ahm_test where age = #{id}
 </select>
</mapper>

  간단한 쿼리입니다. 나중에 코드에서 빨간색으로 친 namespace와 id로 참조하게 됩니다.

4. /src/com/mybatis 폴더 아래 resultType인 Blog 클래스를 생성합니다.
    Blog.java
package com.mybatis;

public class Blog {
 private String name; 
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 } 
}

   쿼리결과를 받기위한 간단한 게터/세터입니다. 

5. /src/com/mybatis 폴더 아래 실제사용하는 코드를 작성합니다. 
    Test.java
package com.mybatis;

import java.io.*;
import org.apache.ibatis.io.*;
import org.apache.ibatis.session.*;

public class Test {
 public static void main(String[] args) {
  String resource = "mybatisConf.xml";
  Reader reader;
  try {
   reader = Resources.getResourceAsReader(resource);
   SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
   
   SqlSession session = sqlMapper.openSession();
   try {
    Blog blog = (Blog) session.selectOne("BlogMapper.selectBlog", 322);
    System.out.println(blog.getName());
   } finally {
   session.close();
   }
   
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}


위와같이 호출해서 사용하시면 되겠네요~^^ 뒤에 322는 파라미터값으로 준것입니다.