반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 스프링(Spring) MyBatis typeAliases

- 아래의 코드에서 <typeAliases></typeAliases> 안에 <typeAlias/> 를 넣는다.

- type은 클래스의 전체경로를 넣고, alias는 이 전체경로를 1개로 바꿔 alias로 사용한다.

- 즉, com.yongku.guestbook.model.GuestBookDto를 guestbook으로 사용가능하다.

<configuration>
    <typeAliases>
	    <typeAlias type="com.yongku.guestbook.model.GuestBookDto" alias="guestbook" />
    	<typeAlias type="com.yongku.guestbook.model.MemberDto" alias="member" />
    </typeAliases>
</configuration>

 

- 예를 들어, 아래의 코드는 select sql문을 xml에서 만드는데, parameterType과 resultType을 넣어 파라미터의 자료형과 리턴타입의 자료형을 적어야 한다.

- resultType은 이 프로젝트에서 VO 객체(Dto)객체를 넣어야 한다.

- 즉, 아래처럼 resultType에 VO 객체를 넣으면 된다.

<mapper namespace="com.ssafy.guestbook.model.dao.UserDao">

    <!-- 원래 parameterType은 java.util.map이 있는데 alias로 map 사용 -->
    <!-- typeAlias를 만들어서 resulttype을 줄일 수 있다. -->
    <select id="login" parameterType="map" resultType="com.yongku.guestbook.model.MemberDto">
        select username, userid, email 
        from ssafy_member
        where userid = #{userid} and userpwd = #{userpwd}
    </select>
</mapper>

 

- 하지만, 위의 코드처럼 작성하면 코드가 길어지고, 매번 복사를 해야 하는 번거로움을 가지고 있어서 typeAlias를 사용하면 된다.

- resultType을 보면 원래는 com.yongku.guestbook.model.MemberDto가 들어가야 하지만, typeAlias를 사용하여 member로 사용할 수 있다.

<mapper namespace="com.ssafy.guestbook.model.dao.UserDao">

    <!-- 원래 parameterType은 java.util.map이 있는데 alias로 map 사용 -->
    <!-- typeAlias를 만들어서 resulttype을 줄일 수 있다. -->
    <select id="login" parameterType="map" resultType="member">
        select username, userid, email 
        from ssafy_member
        where userid = #{userid} and userpwd = #{userpwd}
    </select>
</mapper>

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기