ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MyBatis] resultType 객체 별칭(alias) 관리
    Back-End/Spring Legacy 2022. 11. 16. 11:12

     

    Mapper.xml에서 쿼리문을 통해 값을 받아올 때 resultType을 아래와 같이 패키지명 그대로 사용할 수 있고 따로 별칭을 정해 resultType="aa" 이런식으로 작성할 수 있다. 

     

     

    그럼 어디서 설정해야할까? 그 경로를 따라가보자.

     

     

    📌 1. mybatis-config.xml과 같이 설정 파일을 하나 만든다. 

     

     

    <?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>
    	<typeAliases>
    		<typeAlias alias="testVO" type="com.test.testVO"/>
    	</typeAliases>
    	
    </configuration>

     

     

    위의 코드와 같이 <configuration> 태그 안에 aliase로 지정할 값들을 넣어주면 되는 형태이다. type은 패키지 명, 즉 클래스 경로를 입력하면 되고 alias에 지정하고 싶은 별칭을 입력한다. 

     

     

     

    📌 2. application.properties에 설정 경로를 적어준다. 

     

    <!-- ## Mapper setup ## -->
    	<bean id="mysqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    		<property name="dataSource" ref="mysqlDataSource" />
    		<property name="configLocation" value="/WEB-INF/mybatis-mysql-config.xml" />
    		<property name="typeAliasesPackage" value="kr.happyjob.study" />
    		<!-- property name="mapperLocations" value="classpath*:kr/happy/jobkorea/**/dao/mapper/*Mapper.xml" /-->
    		<property name="mapperLocations" value="classpath*:sql/*/*Mapper.xml" />
    	</bean>

     

     

    위에서 중요한 코드는 바로 <property name="configLocation" value="/WEB-INF/mybatis-mysql-config.xml" /> 이 코드일 것이다. 우리가 alias를 설정해둔 mybatis-mysql-config.xml 경로를 <bean>에 property로 설정한 것. 

     

     

    📌 3. Mapper에서 resultType을 alias로 사용

     

    <mapper namespace="kr.happyjob.study.admsst.dao.SwFileuploadDao2">
    
    	<select id="listFileupload" resultType="FileuploadModel" >
        
    	</select>
        
    </mapper>

     

    위의 코드와 같이 select 쿼리문에서 반환할 값으로 resultType 을 지정해 주는데 여기서, 클래스 경로가 아닌! alias를 적어줬다. 

    반응형

    댓글

Designed by Tistory.