본문 바로가기
GD's IT Lectures : 기초부터 시리즈/마이바티스(MyBatis) 기초부터 ~

[마이바티스(MyBatis)] 환경 설정

by GDNGY 2023. 5. 16.

Chapter 2. 환경 설정

마이바티스를 사용하기 위한 첫 단계는 환경 설정입니다. 이 장에서는 Java 버전과 IDE 선택, 의존성 관리 도구 설정, 그리고 마이바티스의 기본 설정 파일인 mybatis-config.xml 설정에 대해 다룹니다. 이 모든 설정을 통해 마이바티스를 사용할 준비를 마치게 됩니다.

 


 

반응형

 


[Chapter 2. 환경설정]

 

2.1. Java 버전 및 IDE 선택

2.1.1. 호환되는 Java 버전

2.1.2. 추천하는 IDE

2.1.2.1. IntelliJ IDEA

2.1.2.2. Eclipse

 

2.2. 의존성 관리 도구 설정

2.2.1. Maven 설정

2.2.1.1. Maven의 개념과 사용 이유

2.2.1.2. Maven을 이용한 마이바티스 설정

2.2.2. Gradle 설정

2.2.2.1. Gradle의 개념과 사용 이유

2.2.2.2. Gradle을 이용한 마이바티스 설정

 

2.3. mybatis-config.xml 설정

2.3.1. 기본 설정

2.3.1.1. 설정 파일의 위치와 이름

2.3.1.2. 기본 설정 항목

2.3.2. 데이터 소스 설정

2.3.2.1. JDBC 데이터 소스

2.3.2.2. JNDI 데이터 소스

2.3.3. 매핑 파일 연결

2.3.3.1. 매핑 파일의 위치와 이름

2.3.3.2. 매핑 파일 연결 방법

 


2.1. Java 버전 및 IDE 선택

Java와 IDE(Integrated Development Environment) 선택은 개발 환경을 설정하는 중요한 단계입니다. 이 섹션에서는 마이바티스가 호환되는 Java 버전과, 개발에 효율적인 IDE를 추천해 드리겠습니다.

 


2.1.1. 호환되는 Java 버전

마이바티스는 Java 8 이상의 버전에서 호환되도록 설계되었습니다. 따라서 Java 8 이상의 버전을 설치해야 합니다. Java는 개발에 필요한 기본적인 언어이며, 버전에 따라 지원하는 기능과 문법이 다르므로 가장 최신의 안정화된 버전을 선택하는 것이 좋습니다.

 

Java를 설치하는 방법은 다음과 같습니다. 먼저, Oracle 공식 홈페이지에 접속하여 자신의 운영체제에 맞는 Java SE Development Kit를 다운로드합니다. 다운로드가 완료된 후에는 설치 파일을 실행하여 설치를 진행하면 됩니다. 

 

2.1.2. 추천하는 IDE

Java 개발에는 다양한 IDE가 존재하지만, 이 중에서 IntelliJ IDEA와 Eclipse를 추천드립니다.

2.1.2.1. IntelliJ IDEA

IntelliJ IDEA는 JetBrains사에서 개발한 Java를 기본으로 한 다양한 언어를 지원하는 IDE입니다. 매우 직관적인 인터페이스와 강력한 기능, 풍부한 플러그인 생태계가 특징입니다. 특히, 뛰어난 자동완성 기능과 리팩토링 도구는 코드 작성을 훨씬 편리하게 만들어 줍니다.

 

또한, IntelliJ는 마이바티스 플러그인을 지원하여 XML 매퍼 파일과 자바 인터페이스 간의 연결을 쉽게 도와줍니다. 이는 마이바티스를 사용하는 데 매우 편리한 도구입니다.

 

IntelliJ IDEA는 공식 홈페이지에서 다운로드 받을 수 있습니다. 무료 버전인 Community Edition과 유료 버전인 Ultimate Edition이 있으니, 본인의 상황에 맞게 선택하시면 됩니다.

 

2.1.2.2. Eclipse

Eclipse는 오랫동안 많은 개발자들에게 사랑받아온 무료 IDE입니다. 플러그인을 통해 다양한 언어와 프레임워크를 지원하며, 자바 개발에도 충분히 훌륭합니다. Eclipse는 비교적 가벼운 편이며, 간단한 설정으로 빠르게 개발환경을 구축할 수 있습니다. 

 

또한, MyBatis를 지원하는 플러그인인 'MyBatis Editor'가 있어, SQL 매핑 파일 작성을 도와주는 훌륭한 도구를 제공합니다. 이 플러그인은 SQL 쿼리를 작성할 때 자동완성 기능을 지원하여, 개발자가 더 효율적으로 코드를 작성할 수 있도록 도와줍니다.

 

Eclipse는 공식 홈페이지에서 다운로드 받을 수 있습니다. 다양한 패키지 중에서 자신의 필요에 맞는 패키지를 선택하여 다운로드하면 됩니다.

 

이상으로 Java 버전과 IDE 선택에 대해 알아보았습니다. 개발 환경 설정은 개발의 첫걸음이며, 자신에게 맞는 도구를 선택하는 것이 중요합니다. 이제 본격적으로 마이바티스를 배워보도록 하겠습니다.

 


2.2. 의존성 관리 도구 설정

프로젝트에 필요한 라이브러리와 프레임워크의 버전을 관리하고, 필요한 라이브러리를 자동으로 다운로드하여주는 도구를 설정하는 과정을 말합니다. Java의 경우, 이러한 의존성 관리 도구로 Maven이나 Gradle이 주로 사용됩니다.

2.2.1. Maven 설정

2.2.1.1. Maven의 개념과 사용 이유

Maven은 자바 프로젝트의 빌드, 보고서 작성, 문서 생성 등을 자동화하는 빌드 도구입니다. 프로젝트의 전체적인 생명주기를 관리하는 툴로써, 빌드, 테스트, 배포 등 다양한 작업을 쉽게 처리할 수 있습니다.

 

Maven의 가장 큰 특징은 의존성 관리입니다. 프로젝트가 복잡해질수록 필요한 라이브러리와 그 버전들을 관리하는 것은 까다롭습니다. Maven을 사용하면 이런 문제를 쉽게 해결할 수 있습니다. 'pom.xml'이라는 설정 파일에 필요한 라이브러리를 명시하기만 하면, Maven이 자동으로 인터넷에서 다운로드하여 프로젝트에 추가해 줍니다.

 

2.2.1.2. Maven을 이용한 마이바티스 설정

Maven을 이용해 MyBatis를 설정하는 방법은 간단합니다. 먼저, 프로젝트의 'pom.xml' 파일을 열어 다음과 같이 MyBatis 의존성을 추가합니다.

[예제]

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

 

여기서 'version'은 사용하려는 MyBatis의 버전을 나타냅니다. 최신 버전을 사용하려면 MyBatis 공식 웹사이트나 Maven Repository에서 확인할 수 있습니다. 

 

위의 설정을 추가하고 나면, Maven이 자동으로 MyBatis 라이브러리를 다운로드 받아 프로젝트에 추가합니다. 이렇게 설정하면, MyBatis를 사용하기 위한 준비를 마친 것입니다.

 

2.2.2. Gradle 설정

2.2.2.1. Gradle의 개념과 사용 이유

Gradle은 Groovy를 기반으로 한 오픈 소스 빌드 도구입니다. Maven과 비슷한 의존성 관리 기능을 제공하면서도, 더 유연하고 강력한 기능을 제공하여 많은 개발자들에게 인기를 끌고 있습니다. 

 

Gradle의 가장 큰 특징 중 하나는 'Convention over Configuration' 원칙을 따른다는 것입니다. 이는 설정이 필요한 예외적인 상황보다는 대부분의 상황에서 사용하는 표준적인 방법을 우선시한다는 의미입니다. 이로 인해 Gradle 설정 파일은 Maven에 비해 훨씬 간결합니다. 

 

또한, Gradle은 빌드 스크립트를 XML이 아닌 Groovy나 Kotlin DSL을 이용해 작성합니다. 이는 프로그래밍 언어의 특징을 최대한 활용할 수 있으며, 빌드 과정을 더욱 쉽게 이해하고 커스터마이징 할 수 있습니다. 

 

2.2.2.2. Gradle을 이용한 마이바티스 설정

Gradle을 이용하여 MyBatis를 설정하는 방법도 매우 간단합니다. 'build.gradle' 파일을 열고, dependencies 섹션에 다음과 같이 MyBatis 의존성을 추가합니다. 

 

[예제]

dependencies {
    implementation 'org.mybatis:mybatis:3.5.6'
}

 

'implementation'은 컴파일 시점과 런타임 시점에 해당 라이브러리를 사용하겠다는 의미입니다.

'org.mybatis:mybatis:3.5.6'는 MyBatis 라이브러리의 GroupId, ArtifactId, 버전을 나타냅니다.

 

이 설정을 추가한 후, Gradle이 MyBatis 라이브러리를 다운로드 받아 프로젝트에 추가하게 됩니다. 이제 MyBatis를 사용하기 위한 준비가 완료된 것입니다. 

 


2.3. mybatis-config.xml 설정

2.3.1. 기본 설정

2.3.1.1. 설정 파일의 위치와 이름

MyBatis의 주 설정 파일은 일반적으로 'mybatis-config.xml'라는 이름으로, 프로젝트의 클래스패스 루트에 위치합니다. 이 파일은 MyBatis의 동작 방식을 구성하는 중요한 요소입니다.

 

2.3.1.2. 기본 설정 항목

'mybatis-config.xml'에는 여러 가지 설정 항목이 포함되어 있습니다. 일반적으로 다음과 같은 항목들을 설정할 수 있습니다.

  • properties : 외부 프로퍼티 파일의 위치나, 공통으로 사용할 프로퍼티를 정의합니다.
  • settings : MyBatis의 동작을 세부적으로 설정합니다. 예를 들어, 캐시 사용 여부, 지연 로딩 설정 등을 할 수 있습니다.
  • typeAliases : 자바 타입에 대한 별칭을 설정합니다. 이를 통해 XML에서 사용되는 타입 이름을 짧게 줄일 수 있습니다.
  • typeHandlers : 특정 자바 타입에 대한 핸들러를 설정합니다. 이를 통해 DB와 자바 타입 간의 변환 방법을 커스터마이즈 할 수 있습니다.

2.3.2. 데이터 소스 설정

2.3.2.1. JDBC 데이터 소스

MyBatis에서는 JDBC를 통해 데이터베이스와 연결을 관리합니다. 'mybatis-config.xml'의 'environments' 섹션에서 'dataSource'를 설정하여 JDBC 연결 정보를 입력할 수 있습니다.

 

[예제]

<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC"/>
        <dataSource type="POOLED">
            <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
            <property name="username" value="username"/>
            <property name="password" value="password"/>
        </dataSource>
    </environment>
</environments>

 

2.3.2.2. JNDI 데이터 소스

JNDI(JAVA Naming and Directory Interface) 데이터 소스를 사용하는 경우, dataSource의 type을 "JNDI"로 설정하고, "data_source"라는 이름의 property에 JNDI 이름을 설정합니다.

 

[예제]

<dataSource type="JNDI">
    <property name="data_source" value="java:comp/env/jdbc/MyDataSource"/>
</dataSource>

 

2.3.3. 매핑 파일 연결

2.3.3.1. 매핑 파일의 위치와 이름

매핑 파일은 SQL 쿼리와 자바 객체간의 매핑 정보를 담고 있습니다. 일반적으로 '.xml' 확장자를 가지며, 클래스패스 상의 특정 위치에 존재합니다.

 

2.3.3.2. 매핑 파일 연결 방법

매핑 파일은 'mappers' 섹션을 통해 'mybatis-config.xml'에 연결됩니다. 각 매핑 파일을 직접 명시하거나, 패키지 경로를 통해 자동으로 스캔하게 설정할 수 있습니다.

 

[예제]

<mappers>
    <!-- 직접 명시하는 경우 -->
    <mapper resource="org/myapp/mapper/MyMapper.xml"/>
    <!-- 패키지 경로를 통해 스캔하는 경우 -->
    <package name="org.myapp.mapper"/>
</mappers>

 

위의 방법을 통해, MyBatis는 지정된 위치에서 매핑 파일을 찾아, SQL 쿼리와 자바 객체 간의 매핑 정보를 로드하게 됩니다. 이는 MyBatis가 데이터베이스의 데이터를 자바 객체로 변환하거나, 반대의 과정을 수행할 때 이용되는 중요한 정보입니다.

 

여기까지 'mybatis-config.xml' 설정에 대해 살펴보았습니다. 이 설정을 통해 MyBatis의 동작 방식을 세부적으로 제어하고, 데이터베이스 연결 정보, 매핑 정보 등을 설정할 수 있습니다. 다음 챕터에서는 SQL 매핑 파일 작성에 대해 알아보도록 하겠습니다.

 

 

 

2023.05.16 - [GD's IT Lectures : 기초부터 시리즈/마이바티스(MyBatis) 기초부터 ~] - [마이바티스(MyBatis)] 마이바티스(MyBatis) 소개

 

[마이바티스(MyBatis)] 마이바티스(MyBatis) 소개

Chapter 1. 마이바티스(MyBatis) 소개 마이바티스는 자바 개발자가 데이터베이스와 손쉽게 연동할 수 있도록 도와주는 퍼시스턴스 프레임워크입니다. SQL을 직접 작성하면서 객체와 SQL 사이의 매핑을

gdngy.tistory.com

 

반응형

댓글