<?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>
    <settings>
        <!-- Use camelCase for Java properties and snake_case for database columns -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <setting name="useColumnLabel" value="true"/>
        <!-- Cache prepared statements -->
        <setting name="defaultExecutorType" value="REUSE"/>
        <!-- Enable lazy loading -->
        <setting name="lazyLoadingEnabled" value="false"/>
        <setting name="cacheEnabled" value="false"/>
        <!-- Log SQL statements -->
        <setting name="logImpl" value="SLF4J"/>
    </settings>
    
    <typeAliases>
        <!-- Type aliases will be defined in the type-aliases-package in application.yml -->
    </typeAliases>
    
    <!-- MyBatis Interceptors for SQL logging and Mapper information extraction -->
    <plugins>
        <plugin interceptor="egovframework.config.SqlLoggingInterceptor">
            <!-- SQL 로깅 및 정확한 Mapper 정보 추출을 위한 인터셉터 -->
        </plugin>
    </plugins>
</configuration>