TIL(Today I Learned)

2023.06.13 TIL

jjonse 2023. 6. 13. 21:43

(1) mybatis foreach & if 사용법

<?xml version="1.0" encoding="UTF-8" ?>


<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-mapper.dtd">


<mapper namespace="member">
  	<!-- 회원 전체 리스트 조회 -->
  	<select id="getMemberList" resultType="MemberVo">
  		SELECT * FROM MEMBER
  		 
  		<!-- collection은 array 또는 list이다.
  			넘기는게 배열이면 array, 넘기는게 list면 list이다.
  		 -->
  		<foreach collection="array" item="x" separator="," open="WHERE NO IN (" close=")">
  				#{x}
  		</foreach>
  		
  	</select>
  	
  	
  	<!-- 회원 한명 조회(번호) -->
  	<!-- resultType은 자동으로 맵핑해줘서 만드는 타입.
  		예를 들어서, 멤버테이블과 보드테이블을 조인했다.
  		작업하다보면 여기있는 이름이랑 실행결과의 이름이랑 다를 수 있다.
  		그럴 경우에는 매핑이 안되어버린다.
  		resultType이 동작할 수 있는 건 결과에서 얻어온 칼럼이 서로 이름이
  		똑같아야지만 연결되어 채워질 수 있는 건데, 만약 변수 이름이 memberId고
  		칼럼이 id면 연결이 안되어 버린다.
  		이럴 경우에는 resultType이 아니라 다른 것을 사용해야 한다.
  		resultMap을 사용하면 된다.
  		번거로워서 resultMap은 잘 안 쓴다.
  	 -->
  	<select id="getMemberByNo" resultType="MemberVo">
  		SELECT * FROM MEMBER WHERE NO  = #{no}
  	</select>
  	
  	<!-- <resultMap type="MemberVo" id="abc">
  		
  		<result column="" property=""/>
  	</resultMap>
  	 -->
  	 
  	 
  	<insert id="insertMember">
  		INSERT INTO MEMBER(
    		NO, ID, PWD, NICK, PROFILE, HOBBY
		) VALUES(
    		SEQ_MEMBER_NO.NEXTVAL
    		, #{id}
    		, #{pwd}
    		, #{nick}
    		, #{profile}
    		, #{hobby}
		)
  	</insert>
  	
  	<!-- 회원정보 수정 -->
  	<update id="updateMember">
  		UPDATE MEMBER
  			<trim prefixOverrides="," prefix="SET">
  				<if test="pwd != null and pwd != ''">
  					, PWD = #{pwd}
  				</if>
  				<if test="nick != null and nick != ''">
  					, NICK = #{nick}
  				</if>
	  			, MODIFY_DATE = SYSDATE
  			</trim>
    	WHERE NO = #{no}
  	</update>
  	
  	
  	<!-- 회원 탈퇴 -->
  	<delete id="quit">
  		DELETE FROM MEMBER
		WHERE NO = #{no}
  	</delete>
  	
</mapper>

 

(2) STS란?

- STS는 이클립스 + 스프링 플러그인이다.

- STS는 단순히 툴에 불과하다.

 

 

STS 실행법

1. sts exe를 실행한다. 이때, 계속 사용할 거니까 작업표시줄에 고정한다.

2. 서버를 다 넣은 후에 preferences에 들어가 enc를 검색한다.

3. 모든 enc를 UTF-8로 변경한다.

4. packacge explorer에서 오른쪽 버튼 클릭해서 new를 누른다.

5. new를 누른 후에 spring legacy project를 클릭한다. 

6. legacy project에서 mvc project를 실행한다.

7. 이름은 com.kh.app처럼 이런 식으로 회사명을 따서 이름짓는다.