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>