ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [mybatis] xml v.s annotation
    JAVA 2021. 8. 15. 19:13

    1. INSERT 


    1) xml

     	<insert id="insertBoard" parameterType="boardA">
    		insert into board(bNum,bWriter,bTitle,bContent,bRef,bStep,bRefOrder,bParentNum)
    		values(board_seq.nextval,#{bWriter.memNum},#{bTitle},#{bContent},#{bRef},#{bStep},#{bRefOrder},#{bParentNum})	
    	</insert>
    • useGeneratedKeys

    insert 와 동시에 기본키 가져오기

    속성을 사용할 때 keyColumn, keyProperty 속성이 같이 쓰인다.

    - useGeneratedKeys = "true"(기본값 false),

    - keyColumn = [PK 컬럼명]

    - keyProperty = [매핑할 변수명]

     

    2) annotation

    	@Insert("insert into member(id,pw,name,birth,tel,email,first_name,last_name,post,address,detail_address,marketing) values(#{id},#{pw},#{name},#{birth},#{tel},#{email},#{first_name},#{last_name},#{post},#{address},#{detail_address},#{marketing})")
    	@SelectKey(statement="select last_insert_id()", keyProperty="no", before=false, resultType=int.class)
    	void save(Member member);
    • @SelectKey

    - select last_insert_id() = last_insert_id 함수는 테이블의 마지막 auto_increment 값을 리턴한다.

    - keyProperty = [PK 컬럼명]

    - before = 해당 @Insert 쿼리문 전에 실행할지 여부

    - resultType = 가져오는 결과 타입

     

     

     

    2. update - 매핑된 UPDATE 구문.


    1) xml

    	<update id="updateMember" parameterType="memberA">
    		update member
    		set pw=#{pw},memName=#{memName},memBirth=#{memBirth},memTel=#{memTel},memEmail=#{memEmail},memPost=#{memPost},
    		memAddress=#{memAddress},memAddress_detail=#{memAddress_detail}
    		where memNum=#{memNum}
    	</update>

     

    2) annotation

    	@Update("update member set id=#{id}, pw=#{pw}, name=#{name}, tel=#{tel}, email=#{email}, first_name=#{first_name}, last_name=#{last_name}, "
    			+ "post=#{post}, address=#{address}, detail_address=#{detail_address} where no =#{no}")
    	void updateMypage(Member member);

     

     

     

    3.delete - 매핑된 DELEETE 구문.


    1) xml

    	<delete id="memberDelete" parameterType="String">
    		delete from member
    		where id=#{id}
    	</delete>

     

    2) annotation

    	@Delete("delete from member where no=#{no}")
    	void deleteLifestyle(@Param("no")int no);

     

     

     

    4.select - 매핑된 SELECT 구문.


    1) xml

    	<insert id="insertMember" parameterType="memberA">
    		insert into member(memNum,id,pw,memName,memBirth,memTel,
    		memEmail,memPost,memAddress,memAddress_detail,memJdate)
    		values(member_seq.nextval,#{id},#{pw},#{memName},#{memBirth},#{memTel},#{memEmail},
    		#{memPost},#{memAddress},#{memAddress_detail},SYSDATE)
    	</insert>

     

    2) annotation

    	@Select("select * from member")
    	List<Member> selectAll();

    댓글

Designed by Tistory.