본문 바로가기

Backend/DB 실무

[Mybatis] Mybatis XML 작성 템플릿

반응형

사용할 mapper지정

<mapper namespace="쿼리를 사용할 mapper">


쿼리내용(select)

<select id="사용할 메서드 명" parameterType="읽어올 타입" resultType="반환 타입">

<!--부등호를 사용한다면 반드시 사용-->
<![CDATA[
]]>

</select>


쿼리내용(insert)

<insert id="쿼리를 사용할 mapper">
INSERT INTO DB명.table명
(
column,
...)
VALUES
(
<!--#{파라미터}를 이용해 파라미터를 직접 입력 받음-->
#{파라미터},
...
)
<!--추가 후 결과 조회-->
  <selectKey keyProperty="postSeq" resultType="int" order="AFTER">

SELECT CASE COUNT(*) WHEN 0 THEN 1 ELSE MAX(POST_SEQ)  END AS POST_SEQ FROM ~
</selectKey>

</insert>


쿼리내용(update)

<update id="쿼리를 사용할 mapper">
UPDATE DB명.Table명
SET
<if test="bbsCode != null and bbsCode != ''">
BBS_CODE = #{bbsCode},
</if>
<if test="title != null and title != ''">
TITLE = #{title},
</if>
<if test="content != null and content != ''">
CONTENT = #{content},
</if>
REG_SEQ = #{regSeq},
MOD_DATE = now(),
BBS_GB = #{bbsGb}
WHERE POST_SEQ = #{postSeq}
</update>


쿼리내용(delete_board)/게시글은 삭제 하지 않고 숨김 처리

<update id="쿼리를 사용할 mapper">

UPDATE DB명.table명
SET
    BBS_STATE = 0,
    MOD_DATE = NOW()
    WHERE POST_SEQ = #{postSeq}

</update>


쿼리내용(delete)/게시판 파일 삭제

<delete id="쿼리를 사용할 mapper">
    DELETE FROM DB명.table명
    WHERE FILE_SEQ = #{fileSeq}

</delete>
반응형

'Backend > DB 실무' 카테고리의 다른 글

[Mybatis] foreach문과 사용되는 Mybatis 요소 정의  (0) 2023.10.31
[SQL] ROW_NUMBER()/RANK() OVER()  (0) 2023.10.18
Oracle을 ODBC로 연결  (0) 2022.07.07
Oracle 12c uninstall  (0) 2022.04.24
Oracle ORA-12560  (0) 2022.02.25