[TIL] 뉴딜교육 19일차

hyobbang·2022년 6월 8일
0

뉴딜

목록 보기
4/8
post-thumbnail

새로 알게 된 사실

import 와 성능

  • 쓸데없는 import는 지워주세요!
    import는 런타임 속도에는 영향을 미치지 않지만,
    컴파일 속도에 영향을 줄 수 있다.
    따라서 쓸데없는 import를 지우는 것이 성능 향상에 도움을 줄 수 있다.

mapper에 dao경로 주석으로 남기기

  • 사용되는 다오 메소드 주소를 쿼리문 태그 아래에 남기기
<!-- 사용자 로그인 -->
   <select id="selectLogin" resultType="kr.happyjob.study.login.model.LgnInfoModel">
      /*kr.happy.study.login.dao.LoginDao.selectLogin*/
      SELECT  loginID as lgn_id
               , name as usr_nm
               , user_Type as mem_author
      FROM tb_userinfo 
     WHERE loginID = #{lgn_Id}
        AND password = #{pwd}
     </select>

위의 /*kr.happy.study.login.dao.LoginDao.selectLogin*/ 부분처럼, 다오 메소드 경로를 써두면 가독성에 도움이 된다!

myBatis 문법은 어디에나 쓸 수 있다

  • where절에만 쓸 수 있나요? NO!
<!-- 검색 -->
   <select id="samplepage6listtotcant" resultType="int">
            /*kr.happyjob.study.sampletest.dao.SampletestDao.samplepage6listtotcant*/
			select count(ntc_no)
		   from tb_notice
		 <where>
			<if test="(searchword != null) and (!searchword.equals(''))">
				<choose>
					<when test="searchoption eq 'title'.toString()">
						and ntc_title Like CONCAT('%', #{searchword}, '%')
					</when>
					<when
						test="searchoption eq 'cont'.toString()">
						and ntc_content LIKE CONCAT('%', #{searchword}, '%')
					</when>
					<otherwise>
						and ( 
						           ntc_title Like CONCAT('%', #{searchword}, '%')
						       or ntc_content LIKE CONCAT('%', #{searchword}, '%')
						      )   
					</otherwise>
				</choose>
			</if>
		</where>  		 
     </select>  

위의 경우처럼 일반적으로 쿼리문에서의 where조건절에 넣어서 많이 사용하지만, 마이바티스는 쿼리문 어디에나 사용가능하다.
select문 사이에 if문을 끼워넣어서 조건이 맞을 경우에만 select문에 넣을 수 있고, 쿼리문 전체에 if문을 넣어서 조건이 맞는 경우에만 쿼리문이 실행되게 만들 수도 있다. 또한, if문끼리의 중첩도 가능하다.
이처럼 마이바티스는 개발자의 활용능력에 따라서 엄청난 효율을 가져다 줄 수 있다.

Reference

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=nine01223&logNo=220422659318

profile
매일 따끈따끈한 빵을 굽는 베이커리처럼 코딩하기

0개의 댓글