0412 Review

KDU·2022년 4월 12일
0

WEB공부

목록 보기
16/20

Maven Repository

MyBatis

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패턴과 동일

profile
의문을 즐깁니다.

0개의 댓글