BE전문가 프로젝트

2. myBatis 쿼리문(Spring shop) 본문

입사 후 정리

2. myBatis 쿼리문(Spring shop)

원호보고서 2022. 5. 2. 13:48
<?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