개발/Mybatis

Mybatis_설정파일 및 CRUD 기초

Zziny 2021. 10. 14. 23:10

namespace

@repository

 

config.xml

Mybatis 페이지 > 매퍼설정 > settings 참고

mapUnderscoreToCamelCase : 전통적인 데이터베이스 칼럼명 형태인 A_COLUMN을 CamelCase형태의 자바 프로퍼티명 형태인 aColumn으로 자동으로 매핑하도록 한다.

<settings>
  <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

 

Mybatis 페이지 > 매퍼설정 > typeAliases 참고

타입 별칭은 자바 타입에 대한 짧은 이름이다. 오직 XML 설정에서만 사용되며, 타이핑을 줄이기 위해 존재한다.

** 공통의 자바타입에 대해서는 내장된 타입 별칭이 있다. 이 모두 대소문자를 가린다.

config.xml 파일에서 타입 별칭 지정 후 mapper.xml 파일에서 활용

<typeAliases>
  <typeAlias alias="Member" type="com.kh.spring.member.model.dto.Member"/>
</typeAliases>
<select id="selectMemberById" resultType="Member">
  select * from member where user_id = #{userId}
</select>

 

 

resultMap (mapper.xml 파일에 같이 작성)

<!-- type은 return type이라고 생각하면 됨 -->
<resultMap type="map" id="rentData">
<!-- 
	column : map에 담을 컬럼명
	javaType : map에 담을 때 어떤 타입의 데이터로 저장할지를 결정
	property : map에 담을 때 사용할 키값
 -->
  <result column="user_id" javaType="string" property="userId"/>
  <result column="title" javaType="string" />
  <result column="rm_idx" javaType="string" property="rmIdx"/>
  <result column="rent_book_cnt" javaType="int" property="rentBookCnt"/>
  <result column="reg_date" javaType="date" property="regDate"/>
  <result column="rb_idx" javaType="string" property="rbIdx"/>
  <result column="bk_idx" javaType="string" property="bkIdx"/>
</resultMap>

활용 예 

<select id="selectRentDateByUserId" resultMap="rentData">
  select user_id,title,rm_idx,rent_book_cnt,m.reg_date,rb_idx,bk_idx
  from member m
  inner join rent_master using(user_id)
  inner join rent_book using(rm_idx)
  where user_id = #{userId}
</select>

 

test.java

org.mybatis.spring.SqlSessionTemplate.selectOne

org.mybatis.spring.SqlSessionTemplate.selectList

org.mybatis.spring.SqlSessionTemplate.update

org.mybatis.spring.SqlSessionTemplate.delete

org.mybatis.spring.SqlSessionTemplate.insert

 

'개발 > Mybatis' 카테고리의 다른 글

Mybatis_Mapper 사용 시 기본 설정 및 사용 방법  (0) 2021.10.14
Mybatis_Mybatis 설치 및 test  (0) 2021.10.14