MyBatis
사용했던 config.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>
<typeAliases>
<!-- VO파일을 Mapper.xml에서 참조시 경로 간결하게 -->
<typeAlias type="#{VO.java}" alias="VO"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="#{driver}"/>
<property name="url" value="#{url}"/>
<property name="username" value="#{username}"/>
<property name="password" value="#{password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 참조할 Mapper파일 -->
<mapper resource="#{Mapper.xml}"/>
</mappers>
</configuration>
사용했던 SqlSessionManager.java (DB연결 Class)
package com.mvcboard.mybatis;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionManager {
private static SqlSessionFactory SSF;
static {
String resource = "#{config.xml}";
Reader r = null;
try {
r = Resources.getResourceAsReader(resource);
SSF = new SqlSessionFactoryBuilder().build(r);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(r != null) r.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static SqlSessionFactory getSqlSession() {
return SSF;
}
}
아래와 같이 SQL문을 JAVA화하여 사용한다.
<select id="getBoardList" resultType="bVO">
<![CDATA[SELECT * FROM board ORDER BY SEQ DESC]]>
</select>
그러면, DAO가 간단해진다.
public List<BoardVO> getBoardList() {
List<BoardVO> boardList = sqls.selectList("board.getBoardList");
return boardList;
}
나머지는 어제 올렸던 MVC패턴과 동일