데이터베이스/MyBatis

[Mybatis] <resultMap> 사용

포포015 2021. 5. 30. 23:10

나의 경우는, DB에서 컬럼명 규칙은 스네이크 표기법으로 file_bno

이런식으로 DB를 설정했고 JAVA는 카멜표기법으로 fileBno 이런식으로 했는데, 

이렇게되면 서로 변수명이 달라서 set 매칭이 안되더라, 이럴때 방법은 여러개가 있는데

그중 하나 내가 생각한건 쿼리에서 별칭을 줘서 자바변수랑 동일하게 빼내는방법도 있는데

일회성같고 불편해서 구글링해보니 <resultMap>으로 사용하면 가능하다..

또는 Mybaits .xml파일을 따로 생성해서 설정하는방법도 되는거같다

 

 

 

 

<!-- db컬럼명과 dto가 달라, setter가 안먹힘. 대안방안코드 -->

<resultMap type="com.stock.domain.NoticesFileUploadVo" id="fileVo">
<result column="file_bno" property="fileBno"/>
<result column="file_notices_bno" property="fileNoticesBno"/>
<result column="file_original_nm" property="fileOriginalNm"/>
<result column="file_UUID_nm" property="fileUuidNm"/>
<result column="file_Path" property="filePath"/>
<result column="file_upload_reg" property="fileUploadReg"/>
<result column="file_change_reg" property="fileChangeReg"/>
<result column="file_size" property="fileSize"/>
<result column="file_kind" property="fileKind"/>
</resultMap>

<select id="fileListGet" parameterType="int" resultMap="fileVo">
SELECT * FROM NOTICESFILE WHERE FILE_NOTICES_BNO = #{bno}
</select>