티스토리 뷰
1. 파일 다운로드
https://code.google.com/p/mybatis/downloads/list
라이브러리 파일을 다운 받아서 lib 폴더에 넣는다.
2. DB 정보를 담은 properties 파일 작성 (db.properties) - 오라클 기준해서 써놨다. 각자 상황에 따라서 변경.
## database connection property. driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@localhost:포트번호:xe username=username password=password
3. Mapper 작성 (member.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">
UPDATE TBL_FEEDS SET MEM_NAME = '${mem_name}' MEM_PHONE = '${mem_phone}' MEM_ADDR = '${mem_addr}' WHERE MEM_ID = '${mem_id}'
위와 같이 코딩. member 테이블이 있다는 가정 하에 예를 들어서 코딩한 것.
mybatis의 경우 ibatis와 다르게 interface를 사용하는 방법도 있으나 자세한 사항은 매뉴얼을 참조.
3. mybatis xml 설정 파일 작성 (configuration.xml)
mapper파일과 마찬가지로 맨 위에 독타입 선언하고 아래와 같이 코딩.
4. SqlSessionFactory 빌드하기 (SqlMapSessionFactory.java)
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlMapSessionFactory {
public static SqlSessionFactory ssf;
static{
String resource = "kr/co/test/mybatis/configuration.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
ssf = new SqlSessionFactoryBuilder().build(inputStream);
}
public static SqlSessionFactory getSqlSessionFactory(){
return ssf;
}
}
5. DAO 작성 (MemberDAO.java)
public class MemberDao {
private MemberDao() {}
private static MemberDao dao;
public static MemberDao getInstance(){
if(dao == null){
dao = new MemberDao();
}
return dao;
}
SqlSessionFactory factory = SqlMapSessionFactory.getSqlSessionFactory();
public MemberDTO selectMember(String mem_id) {
SqlSession session = factory.openSession();
MemberDTO memberDTO = session.selectOne("kr.co.test.mybatis.mappers.memberMapper.selectMember", mem_id);
session.close();
return memberDTO;
}
public int updateMember(MemberDTO memberDTO) {
SqlSession session = factory.openSession();
int update = session.update("kr.co.test.mybatis.mappers.memberMapper.updateMember", memberDTO);
// update나 delete의 경우 반드시 커밋 필요.
// session.commit();을 해주거나 factory.openSession(true);로 설정하면 자동 커밋된다.
session.commit();
session.close();
return update;
}
}
6. Service 작성 (MemberService.java)
public class MemberService {
private MemberService(){}
private static MemberService service;
private MemberService dao = MemberService.getInstance();
public static MemberService getInstance(){
if(service == null){
service = new MemberService();
}
return service;
}
enum MemberResult {OK, FAIL};
public String getMember(String mem_id) {
return dao.selectMember(mem_id);
}
public MemberResult modifyMember(MemberDTO memberDTO) {
int result = dao.updateMember(memberDTO);
if(result > 0){
return MemberResult.OK;
}else{
return MemberResult.FAIL;
}
}
}
Interface 과정 다 생략하고 아주 간단하게 예를 들어서 써봤다.
mybatis 관련해서 자세한 설정을 원한다면 매뉴얼을 참고하길 바란다. (위에 내가 해놓은 것들은 type alias도 안하고 그냥 초간단하게 만들어놓은 것임.)
→ http://mybatis.github.io/mybatis-3/ko/index.html
찾아보면 PDF로 된 매뉴얼도 있으니 검색해볼 것.
'공장 (factory) > - Programming..' 카테고리의 다른 글
| [Eclipse/Maven] 메이븐 설치 요약. (0) | 2014.04.07 |
|---|---|
| [Java] keystore/truststore 생성, SSL 사용 예. (7) | 2014.01.29 |
| [Java/JSP] JSON 간단 예제. (1) | 2014.01.20 |
| [JSP] Put 방식의 서버 측 코딩 예 (doPut) (0) | 2013.12.11 |
| [HDFS/Java] HDFS를 Java에서 사용하기 (0) | 2013.11.06 |
mybatis-3.2.3.jar