안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)
* Resources 안에 resouces 소스폴더 생성 후 그 안에 xml파일 생성해주기.
* settings : MyBatis 구동시 선언할 설정들을 작성하는 영역 (마이바티스 설정과 관련된 기본 세팅 선언)
ex) <settings>
<!-- 만약 데이터가 넘어오지않으면 빈칸이 아닌 NULL로 인식하겠다. *규칙: 꼭 대문자 NULL로 입력하기-->
<setting name="jdbcTypeForNull" value="NULL" />
</settings>
* typeAliases : VO/DTO 클래스들의 풀 클래스명을 단순한 클래스명으로사용하기 위해서
별칭을 등록할 수 있는 영역 (각 객체에 대한 별칭 설정)
ex) <typeAliases>
<typeAlias type="com.kh.member.model.vo.Member" alias="member"/>
<!-- com.kh.member.model.vo.Member을 member이라는 별칭을 부여하겠다. -->
</typeAliases>
* environments : MyBatis에서 연동할 DB정보들을 등록하는 영역(여러개의 DB정보를 등록 가능)
=> default 속성으로 여러개의 id중 어떤 db를 기본 db로 사용할건지 설정해줘야한다.
(DB에 연결할 설정에 대한 정보 선언)
여러개의 environment를 집어 넣으면 여러개의 DB에 연결할 수 있고, <environment id="이름"> 으로 구분 가능
ex) <environments default="development">
<environment id="development">
* transactionManager : 트랜잭션을 제어를 누가 할 것인가에 대한 설정. JDBC, MANAGED 둘중 하나를 선택할 수 있다.
- JDBC : 트랜잭션관리를 직접 내가 하겠다(수동 COMMIT)
- MANAGED : 개발자가 트랜잭션에 대해서 어떠한 영향도 행사하지 않겠다(자동 COMMIT)
ex) <transactionManager type="JDBC"/>
* dataSource : 실제 DB접속에 관한 정보를 넣는 태그. POOLED, UNPOOLED둘중 하나를 선택할수있음. (ConnectionPool 사용여부)
- ConnectionPool : Connection 객체를 담아둘 수 있는 영역, 한번 생성된 Connection객체를 담아두면 재사용
해서 쓸수 있음
=> POOLED : 최초 Connection객체를 생성할 때 그 정보를 pool 영역에 저장해두고 이후 재사용 가능 (ConnectionPool을 쓰겠다.)
=> UNPOOLED : Connection객체를 별도로 저장하지 않고 객체 호출 시 매번 생성하여 사용 (ConnectionPool을 안쓰겠다)
ex) <dataSource type="POOLED">
* properties : 연결정보 따로 생성 후 불러오기
* mapper : 실행할 sql문들을 기록해둔 mapper파일들을 등록하는 영역
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- setting : MyBatis 구동시 선언할 설정들을 작성하는 영역 -->
<settings>
<!-- 만약 데이터가 넘어오지않으면 빈칸이 아닌 NULL로 인식하겠다. *규칙: 꼭 대문자 NULL로 입력하기-->
<setting name="jdbcTypeForNull" value="NULL" />
</settings>
<!-- typeAliases : VO/DTO 클래스들의 풀 클래스명을 단순한 클래스명으로사용하기 위해서
별칭을 등록할 수 있는 영역 -->
<typeAliases>
<typeAlias type="com.kh.member.model.vo.Member" alias="member"/> <!-- com.kh.member.model.vo.Member을 member이라는 별칭을 부여하겠다. -->
</typeAliases>
<!--
environments : MyBatis에서 연동할 DB정보들을 등록하는 영역(여러개의 DB정보를 등록 가능)
=> default 속성으로 여러개의 id중 어떤 db를 기본 db로 사용할건지 설정해줘야한다.
-->
<environments default="development">
<environment id="development">
<!--
transactionManager는 JDBC, MANAGED 둘중 하나를 선택할 수 있다.
- JDBC : 트랜잭션관리를 직접 내가 하겠다(수동 COMMIT)
- MANAGED : 개발자가 트랜잭션에 대해서 어떠한 영향도 행사하지 않겠다(자동 COMMIT)
-->
<transactionManager type="JDBC"/>
<!--
dataSource : POOLED, UNPOOLED둘중 하나를 선택할수있음.(ConnectionPool 사용여부)
- ConnectionPool : Connection 객체를 담아둘 수 있는 영역, 한번 생성된 Connection객체를 담아두면 재사용
해서 쓸수 있음
=> POOLED : ConnectionPool을 쓰겠다.
=> UNPOOLED : ConnectionPool을 안쓰겠다
-->
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="MYBATIS"/>
<property name="password" value="MYBATIS"/>
</dataSource>
</environment>
</environments>
<!-- mapper : 실행할 sql문들을 기록해둔 mapper파일들을 등록하는 영역 -->
<mappers>
<mapper resource="/mappers/board-mapper.xml"/>
<!-- 절대경로로제공 -->
<mapper resource="/mappers/member-mapper.xml"/>
</mappers>
</configuration>
'⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆ > MyBatis' 카테고리의 다른 글
[MyBatis] insert/update 쿼리 실행 후 결과값 가져오기 (useGeneratedKeys, keyProperty, selectKey) (0) | 2023.08.15 |
---|---|
[MyBatis] JDBC와 MyBatis 차이점, MyBatis 정의 및 사용 (0) | 2023.07.31 |