typeAliases
ν΄λμ€μ λν λ³μΉμ μ μνμ¬ XMLμμ κ°λ¨νκ² μ¬μ©ν μ μκ² ν©λλ€.
typeAliases μ€μ λ°©λ²
mybatis μμ Java ν΄λμ€ μ 체μ΄λ¦(ν¨ν€μ§λͺ
.ν΄λμ€λͺ
)μ μ€μ νλ λ°©λ²μ μλ λ°©λ² μ€μ νλλ‘ μ μ©ν μ μμ΅λλ€.
β’
β’
mybatis-config.xml
β’
μ€μ νμΌ μμΉ
β¦
βͺ
β’
mybatis-config.xml
<?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>
<!-- μ€μ -->
<settings>
<!-- μΈλμ€μ½μ΄ μΌμ΄μ€μΈ 컬λΌμ μΉ΄λ© μΌμ΄μ€λ‘ λ³ννλ μ€μ -->
<!-- board_no - boardNo -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!-- νμ
λ³μΉ μ€μ -->
<typeAliases>
<!--
β typeAlias : λ³μΉ μ€μ
- alias : λ³μΉ
- type : λ³μΉμ μ¬μ©ν ν΄λμ€ κ²½λ‘
-->
<typeAlias alias="User" type="com.aloha.mybatis.dto.User"/>
<!--
β package : ν¨ν€μ§ κ²½λ‘ μ§μ
- name : ν¨ν€μ§ κ²½λ‘
-->
<package name="com.aloha.mybatis.dto"/>
</typeAliases>
</configuration>
XML
볡μ¬
β’
application.properties
# Mybatis μ€μ
# Mybatis μ€μ κ²½λ‘ : ~/resources/mybatis-config.xml
mybatis.config-location=classpath:mybatis-config.xml
# Mybatis λ§€νΌ νμΌ κ²½λ‘ : ~/λ©μΈν¨ν€μ§/mapper/**Mapper.xml
mybatis.mapper-locations=classpath:mybatis/mapper/**/**.xml
Java
볡μ¬
νμ
λ³μΉ package κ²½λ‘λ₯Ό μ€μ νλ©΄, ν΄λΉ ν¨ν€μ§ μλμ λͺ¨λ ν΄λμ€λ€μ ν΄λμ€ μ΄λ¦λ§μΌλ‘ type μ μ§μ ν μ μμ΅λλ€.
β’
typeAliases - package μ€μ 
<resultMap id="λ§΅id" type="ν¨ν€μ§λͺ
.ν΄λμ€λͺ
">
</resultMap>
XML
볡μ¬
β’
typeAliases - package μ€μ 
<!-- <resultMap id="λ§΅id" type="ν¨ν€μ§λͺ
.ν΄λμ€λͺ
"> -->
<resultMap id="λ§΅id" type="ν΄λμ€λͺ
">
</resultMap>
XML
볡μ¬
mybatis-config.xml λ§μ΄λ°ν°μ€ μ€μ νμΌμ λ°λ‘ λ§λ€μ§ μκ³ ,
application.properties μ μμ±μΌλ‘ λ°λ‘ μ μ©ν μλ μμ΅λλ€.
# Mybatis μ€μ
# 컬λΌλͺ
μ λ³μλͺ
μΌλ‘ μλλ§€ν : board_no β‘ boardNo
mybatis.configuration.map-underscore-to-camel-case=true
# resultType μμ±μμ dto κ°μ²΄ (ν¨ν€μ§.ν΄λμ€λͺ
) β‘ (ν΄λμ€λͺ
)
mybatis.type-aliases-package=com.aloha.mybatis.dto
# Mybatis λ§€νΌ νμΌ κ²½λ‘ : ~/λ©μΈν¨ν€μ§/mapper/**Mapper.xml
mybatis.mapper-locations=classpath:mybatis/mapper/**/**.xml
Java
볡μ¬
@Alias μ΄λ
Έν
μ΄μ
쿼리 κ²°κ³Όλ₯Ό λ§€νν κ° κ°μ²΄μμ, @Alias μ΄λ
Έν
μ΄μ
μΌλ‘ λ³μΉμ μ€μ νλ λ°©λ²
package com.aloha.mybaits.dto;
...
@Data
@Alias("Users")
public class Users {
private Long no;
private String username;
private String password;
private String name;
private String email;
private Date createdAt;
private Date updatedAt;
private int enabled;
}
Java
볡μ¬
β’
@Alias("Users") μ€μ 
<!-- β typeAliases μ€μ νμ§ μμ κ²½μ° - ν¨ν€μ§λͺ
.ν΄λμ€λͺ
-->
<select id="select" resultType="com.aloha.mybatis.dto.Users">
SELECT *
FROM user
WHERE username = #{username}
</select>
XML
볡μ¬
β’
@Alias("Users") μ€μ 
<!-- β typeAliases μ€μ ν κ²½μ° - λ³μΉ (Users) -->
<select id="select" resultType="Users">
SELECT *
FROM user
WHERE username = #{username}
</select>
XML
볡μ¬




