[java] MyBatis에서 테이블 생성하기

이 포스트에서는 MyBatis를 사용하여 Java 언어로 데이터베이스 테이블을 생성하는 방법을 알아보겠습니다.

1. MyBatis 설정하기

먼저, MyBatis를 프로젝트에 추가해야 합니다. Maven이나 Gradle과 같은 의존성 관리 도구를 사용하여 다음과 같이 MyBatis를 추가할 수 있습니다.

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

MyBatis를 추가한 후, mybatis-config.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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mydatabase"/>
                <property name="username" value="root"/>
                <property name="password" value="password"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!-- 마이바티스 매퍼 파일 경로 추가 -->
    </mappers>
</configuration>

<dataSource> 태그에는 사용할 데이터베이스 정보를 입력해야 합니다. 위의 예제는 MySQL 데이터베이스를 사용하도록 설정되어 있습니다.

2. 데이터베이스 테이블 생성하기

이제 MyBatis를 사용하여 데이터베이스 테이블을 생성하는 방법에 대해 알아보겠습니다.

먼저, 테이블을 생성하기 위한 DDL(Data Definition Language) 문을 작성해야 합니다.

CREATE TABLE my_table (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    age INT
);

위의 예제는 my_table이라는 테이블을 생성하는 DDL 문입니다. 플레이스홀더를 사용해 파라미터를 동적으로 설정할 수 있습니다.

public interface MyTableMapper {
    @Update("CREATE TABLE ${tableName} (
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(50) NOT NULL,
        age INT
    )")
    void createTable(@Param("tableName") String tableName);
}

위의 예제는 MyBatis의 @Update 어노테이션을 사용하여 테이블을 생성하는 매퍼 인터페이스입니다. @Param 어노테이션을 사용하여 플레이스홀더 값을 바인딩할 수 있습니다.

이후 실제로 테이블을 생성하기 위해 다음과 같이 코드를 작성할 수 있습니다.

String tableName = "my_table";
myTableMapper.createTable(tableName);

위의 코드는 my_table이라는 테이블을 생성하는 기능을 실행합니다. MyBatis는 내부적으로 해당 SQL 문을 실행하여 테이블을 생성하게 됩니다.

3. 실행 결과 확인하기

테이블을 생성한 후, 데이터를 저장하거나 조회할 수 있습니다. MyBatis를 사용하여 테이블 생성 후 데이터 조작을 할 수 있는 다양한 기능을 제공합니다.

테이블이 정상적으로 생성되었는지 확인하기 위해 데이터베이스 관리 도구(예: MySQL Workbench)를 사용하거나, 다음과 같이 SQL 문을 실행하여 확인할 수 있습니다.

SHOW TABLES;

위의 SQL 문은 현재 데이터베이스에 존재하는 모든 테이블을 조회합니다. 이를 통해 my_table 테이블이 정상적으로 생성되었는지 확인할 수 있습니다.


참고 자료