Web/MyBatis

MyBatis, 별명짓기(typeAliases) / DTO변수명과 DB컬럼명이 다른 경우

greenyellow-s 2024. 9. 12. 09:38
typeAilases

 

별칭을 선언해 반복해서 가져다 쓰는 문구를 간단하게 축약해놓는다.

 

mybatis-config.xml
<typeAliases>
	<typeAlias type="user.bean.UserDTO" alias="user"/>
</typeAliases>


user.bean.UserDTO ==> user 로 별명짓기

 

Mapper.xml
<select id="getAllList" resultType="user.bean.UserDTO">
	select * from usertable
</select>

 

user.bean.UserDTO를 alias로 별칭을 지정했기 때문에 user로 변경해도 가능하다.

<select id="getAllList" resultType="user">
	select * from usertable
</select>

DTO변수명과 DB컬럼명이 다른 경우

 

DTO에 있는 변수명이 DB 컬럼명과 일치해야된다.

만약에 테이블의 컬럼과 객체의 필드명이 다른경우( Mapper.xml )

<resultMap type="user.bean.UserDTO" id="userResult"> // user.bean.UserDTO와 연결하겠다.
	<result column="오라클 컬럼명" property="필드명"/>
</resultMap>

 

예시
<resultMap type="user.bean.UserDTO" id="userResult">
	<result column="NAME" property="name"/>
	<result column="ID" property="id"/>
	<result column="PWD" property="pwd"/>
</resultMap>

 

둘이 다른 경우 오류 방지를 위해 강제로 오라클의 컬럼명과 DTO의 필드명을 연결해준다.

 

resultType은 둘이 다른 경우 바로 DTO와 연결하는게 아니라 강제로 연결한 resultMap을 선언해줘야한다.
<select id="getAllList" resultMap="userResult">

'Web > MyBatis' 카테고리의 다른 글

MyBatis, Properties 설정하기  (0) 2024.09.12
MyBatis, 환경설정하기 / 사용방법  (3) 2024.09.11
MyBatis, MyBatis 환경설정  (1) 2024.09.11