728x90
반응형

Mybatis-config 설정

 

mybatis-config.xml 생성 위치 

src/mybatis 폴더를 생성하고, mybatis-config.xml 파일을 등록

 

 

mybatis-config.xml 작성

먼저 xml 파일 최상단에 다음과 같이 xml 형식을 지정하여 이하의 설정내용이 mybatis 설정임을 선언

<?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>
. . .
</configuration>

 

 

<properties> 태그 : 외부 java property파일의 내용을 불러올 때 사용

<!-- <properties> 태그 예시 -->
<properties resource=“경로+파일명.properties”>
  <!--properties파일에 값 설정 가능-->
  <property name=“key명” value=“설정값”>
</properties>

 

<!-- <properties> 설정값 활용 -->
<dataSource>
  <property name=“명칭” value=“${properties에 설정된 key명}” />
  <property name=“명칭” value=“${properties에 설정된 key명}” />
</dataSource>

 

 

<settings> 태그 : mybatis 구동 시 선언할 설정들을 작성

<!-- <settings> 태그 예시 -->
<settings>
  <!-- Null 값이 발생할 경우 빈칸이 아닌 null로 인식하라 -->
  <setting name="jdbcTypeForNull" value="NULL"/>
</settings>

속성값 참조 : http://www.mybatis.org/mybatis-3/ko/configuration.html

 

MyBatis – 마이바티스 3 | 매퍼 설정

매퍼 설정 마이바티스 XML 설정파일은 다양한 설정과 프로퍼티를 가진다. 문서의 구조는 다음과 같다.: configuration properties 이 설정은 외부에 옮길 수 있다. 자바 프로퍼티 파일 인스턴스에 설정할

mybatis.org

 

 

<typeAliases> 태그 : mybatis에서 사용할 자료형의 별칭을 선언

<!-- <typeAliases> 태그 예시 -->
<typeAliases>
  <!-- type에는 패키지 명까지 전부 기술해주어야 한다. -->
  <typeAlias type="member.model.vo.Member" alias="Member" />
</typeAliases>

 

 

<environments> 태그 : mybatis 에서 연동할 Database 정보를 등록

여러 개의 DB를 사용할 등록하여 사용할 수 있음

bulid()메소드 구현시 매개변수에 environment의 id를 설정하면 됨

<!-- <environments> 태그 예시 -->
<environments default="development">
  <!-- environment id를 구분하여 연결할 DB를 여러 개 구성할 수도 있다 -->
  <environment id="development">
    <transactionManager type="JDBC" />
    <dataSource type="POOLED">
      <property name="driver" value="oracle.jdbc.driver.OracleDriver" />
      <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:xe" />
      <property name="username" value="student" />
      <property name="password" value="student" />
    </dataSource>
  </environment>
</environments>

 

 

POOLED 와 UNPOOLED

Database 연결을 관리하는 DataSource의 타입은 크게 POOLED와 UNPOOLED로 나눌 수 있음

설정 가능한 type 중 JNDI도 있는데, 이는 mybatis에서 Connection 객체를 생성하여 관리하지 않고 Web Application의 설정을 따르겠다는 의미

구분 POOLED UNPOOLED
특징 최초 Connection 객체를 생성 시 해당 정보를 pool 영역에 저장해 두고 이후 Connection 객체를 생성할 때 이를 재 사용 Connection 객체를 별도로 저장하지 않 고, 객체 호출 시 매번 생성하여 사용
장점 Connection 객체를 생성하여 Database와 연결을 구축하는데 걸 리는 시간이 단축 Connection 연결이 많지 않은 코드를 작성할 때 간단하게 구현할 수 있음
단점 단순한 로직을 수행하는 객체를 만들기엔 설정해야 할 정보가 많음 매번 새로운 Connection 객체를 생성 하므로 속도가 상대적으로 느림

 

 

<mappers> 태그 : 사용하고자 하는 쿼리가 정의된 mapper 파일을 등록

<!-- <mappers> 태그 예시 -->
<mappers>
  <mapper resource="member/model/mapper/member-mapper.xml" />
  <mapper resource=“notice/model/mapper/notice-mapper.xml" />
  <mapper resource=“board/model/mapper/board-mapper.xml" />
</mappers>

 

 

Mybatis내장 별칭(for parameterType / resultType)

Java 자료형 Mybatis 타입
byte _byte
long _long
short _short
int _int / _integer
double _double
float _float
boolean _boolean
String string
Byte byte
Long long
Short short
Integer int / integer
Double double
Float float
Boolean boolean
Date date
Object object
Map map
HashMap hashmap
List list
ArrayList arraylist
Collection collection
Iterator iterator

 

반응형
복사했습니다!