package com.x2bee.api.bo.app.repository.displayrodb.sample;
import java.util.List;
import java.util.Optional;
import com.x2bee.api.bo.app.dto.request.sample.SampleRequest;
import com.x2bee.api.bo.app.dto.response.sample.SampleResponse;
public interface SampleMapper {
public List<SampleResponse> selectAllSamples();
public Optional<SampleResponse> selectSampleById(Long id);
public List<SampleResponse> selectSamples(SampleRequest request);
}
SampleMapper.xml
<?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.x2bee.api.bo.app.repository.displayrodb.sample.SampleMapper">
<sql id="sampleList">
SELECT 1 as id, 'name1' as name, 'desc1' as description
union all
SELECT 2 as id, 'name2' as name, 'desc2' as description
union all
SELECT 3 as id, 'name3' as name, 'desc3' as description
</sql>
<!-- 전체 샘플 조회 -->
<select id="selectAllSamples" resultType="sampleResponse">
/* SampleMapper.selectAllSamples */
<include refid="sampleList" />
</select>
<!-- 샘플 단건 조회 -->
<select id="selectSampleById" parameterType="long" resultType="sampleResponse">
/* SampleMapper.selectSampleById */
select * from (
<include refid="sampleList" />
) a where id = #{id}
</select>
<!-- 샘플 목록 조회 -->
<select id="selectSamples" parameterType="sampleRequest" resultType="sampleResponse">
/* SampleMapper.selectSamples */
select * from (
<include refid="sampleList" />
) a
<where>
<if test="id != null">
and id = #{id}
</if>
<if test="name != null and name != ''">
and name = #{name}
</if>
<if test="description != null and description != ''">
and description = #{description}
</if>
</where>
</select>
</mapper>