BE전문가 프로젝트
2. myBatis 쿼리문(Spring shop) 본문
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.spring.shop.board.BoardMapper">
<!-- 게시판 리스트 -->
<select id="selectBoardList" resultType="com.spring.shop.board.BoardDTO" parameterType="map">
SELECT
bi_no,
bi_title,
bi_content,
bi_writer,
TO_CHAR(TO_TIMESTAMP(bi_insertdt, 'YYYYMMDDHH24MISS'), 'YYYY-MM-DD HH24:MI:SS') "bi_insertdt"
FROM board_info
<include refid="search" />
ORDER BY bi_insertdt DESC
LIMIT #{limit} - #{offset} OFFSET #{offset}
</select>
<!-- 게시글 개수 -->
<select id="selectTotalPage" resultType="float" parameterType="map">
select count(*)
from board_info
<include refid="search" />
</select>
<!-- 공통으로 사용되는 쿼리문 따로 작성 가능 -->
<sql id="search">
<where>
<choose>
<when test ="searchtype == 'ALL'">
(bi_title || bi_writer) like CONCAT('%',#{keyword},'%')
</when>
<otherwise>
${searchtype} like CONCAT('%',#{keyword},'%')
</otherwise>
</choose>
</where>
</sql>
<!-- 게시글 상세보기 -->
<select id="selectDetailBoard" parameterType="int" resultType="com.spring.shop.board.BoardDTO">
SELECT
bi_no,
bi_title,
bi_content,
bi_writer,
TO_CHAR(TO_TIMESTAMP(bi_insertdt, 'YYYYMMDDHH24MISS'), 'YYYY-MM-DD HH24:MI:SS') "bi_insertdt"
FROM board_info
WHERE bi_no = #{bi_no}
</select>
<!-- 게시글 작성 -->
<insert id="insertBoard" parameterType="BoardDTO">
INSERT into board_info(
bi_no,
bi_title,
bi_content,
bi_writer
)
VALUES(NEXTVAL('seq_bi_no'), #{bi_title}, #{bi_content},#{bi_writer})
</insert>
<!-- 게시글 삭제 -->
<delete id="deleteBoard" parameterType="int">
DELETE FROM board_info
WHERE bi_no = #{bi_no}
</delete>
<!-- 게시글 수정 -->
<update id="updateBoard" parameterType="BoardDTO">
UPDATE board_info
SET
bi_title = #{bi_title},
bi_content = #{bi_content}
WHERE bi_no = #{bi_no}
</update>
</mapper>
공통으로 사용되는 쿼리문은 <sql>을 사용해서 사용 가능하다
column을 변경해야 할 때는 ${}를 사용할 수 있다
'입사 후 정리' 카테고리의 다른 글
3. 파일 업로드(Spring shop) (0) | 2022.05.02 |
---|---|
입사 1일차 공부 (0) | 2022.04.25 |
Comments