본문 바로가기
Java/└ Mybatis

Mybatis) Mybatis 사용법, 설정파일

by 박채니 2022. 8. 4.

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


Mybatis

- 데이터의 입력, 조회, 수정, 삭제 (CRUD)를 보다 편하게 하기 위해 xml로 구조화한 Mapper 설정 파일을 통해 JDBC를 구현한 영속성 프레임워크

 

※ Mybatis API 사이트

https://mybatis.org/mybatis-3/ko/getting-started.html

 

MyBatis – 마이바티스 3 | 시작하기

 

mybatis.org

※ 위 사이트를 참고하여 설정파일 내용을 작성할 수 있음

 

mybatis-config.xml과 mapper.xml 설정 파일이 필수로 있어야하며, Maven을 이용하여 Mybatis 파일을 클래스패스에 추가하겠습니다.

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.6</version>
</dependency>

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.1.0.0</version>
</dependency>

 

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>
	<!-- 
		자식 태그는 다음 순서로 작성할 것!
		
		(properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, 
		 objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, 
		 mappers?)
	 -->
  <properties resource="/datasource.properties" />	
  
  <settings>
  	<setting name="jdbcTypeForNull" value="NULL"/> <!-- null 데이터 전달 시 그대로 null로 대입 -->
  	<setting name="mapUnderscoreToCamelCase" value="true"/>
  </settings>
  
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <!--
      	transactionManager type 종류 
      	JDBC - 코드로 직접 트랜잭션 관리
      	MANAGED - WAS가 트랜잭션 관리
      -->
      
      <!-- POOLED - Connection Pool을 만들어 Connection을 매번 생성/폐기하지 않고 재사용 -->
      <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 resource="/mapper/student/student-mapper.xml"/>
  </mappers>
</configuration>

필요한 settings도 설정해두었고, API 홈페이지에 제공하는 settings를 확인할 수 있습니다.

대소문자를 완벽히 구분하기 때문에 꼭 확인 후 알맞게 사용!!!

 

datasource.properties

driver = oracle.jdbc.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:xe
username = web
password = 비번

mapper를 mapper태그로 잘 연결시켜줘야 합니다.

 

※ mybatis-config.xml 관련 굉장히 정리가 잘 된 블로그

https://spring.tistory.com/3

 

mybatis-config.xml - 마이바티스 전체 설정정보 작성하기

Java Resources 안에 resouces 소스폴더 생성 후 그 안에 xml파일 생성 environments : DB에 연결할 설정에 대한 정보 선언 : 여러개의 environment 중 기본으로 연결할 정보를 설정 여러개의 environment를 집어..

spring.tistory.com

 

student-mapper.xml

mapper태그 경로와 동일하게 위치

<?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">
<mapper namespace="student"> 

</mapper>