關於mybatis根據傳進來的引數執行不同的語句,類似於java中的if~else~語句
阿新 • • 發佈:2019-01-25
1、在一個方法中根據條件執行兩個不同的查詢語句,例如下面的查詢穿進來的引數為admin時執行第一個查詢語句,否則就執行下面查詢語句
dao類中的方法
public List<Caidan> getcaidan(@Param(value="czyid") String czyid);
xml檔案中
<select id="getcaidan" parameterType="java.lang.String" resultType="com.dyaqjy.bean.Caidan">
<choose>
<when test="czyid=='admin'">
SELECT * FROM s_caidan where upid='root'
</when>
<otherwise>
SELECT s_caidan.id,s_caidan.title,s_caidan.upid,s_caidan.url,
s_caidan.icon,s_quanxian.czyid
FROM s_caidan RIGHT OUTER JOIN s_quanxian ON s_quanxian.caidanid = s_caidan.id
WHERE s_caidan.upid = 'root' AND s_quanxian.czyid = #{czyid}
ORDER BY s_caidan.id ASC
</otherwise>
</choose>
</select>