-
[mybatis] xml v.s annotationJAVA 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();
'JAVA' 카테고리의 다른 글
[spring] spring-boot:Spring Starter Project 시작하기 (0) 2021.08.16 [mybatis] xml 속성 정리 (0) 2021.08.15 [spring] 어노테이션 정리 (0) 2021.08.13 [spring] 의존성 주입(DI) (0) 2021.08.13 [java] JSP, Servlet 의 기본 개념 및 MVC모델 (0) 2021.08.12