亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mybatis的映射xml中動(dòng)態(tài)設(shè)置orderby方式

 更新時(shí)間:2021年11月30日 10:52:44   作者:左直拳  
這篇文章主要介紹了mybatis的映射xml中動(dòng)態(tài)設(shè)置orderby方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis映射xml動(dòng)態(tài)設(shè)置orderby

mybatis的dao xml中,根據(jù)參數(shù)值設(shè)置不同的order by字段。

dao java

List<DzRainDetail> queryDetail(@Param("masterId") int masterId, 
@Param("country") String country, 
@Param("sort") String sort);

第三個(gè)參數(shù)“sort”用于決定如何寫這個(gè)order by。

dao XML

<select id="queryDetail" resultMap="DetailResultMap">
    SELECT rd.id, st.address, rd.water, st.d_name
    FROM dzzhyj.dz_rain_detail rd
    INNER JOIN dzzhyj.DZ_RAIN_STATION st ON rd.station_code = st.code
    WHERE rd.master_id = #{masterId}
    AND st.country = #{country}
    <if test="sort.compareTo('d') == 0">
        ORDER BY st.d_name ASC
    </if>
    <if test="sort.compareTo('water') == 0">
        ORDER BY rd.water DESC
    </if>
</select>

由于sort是字符串,String類型,我發(fā)現(xiàn)寫成以下形式會(huì)報(bào)錯(cuò):

<if test="sort == 'd'">
    ORDER BY st.d_name ASC
</if>
<if test="sort == 'water'">
    ORDER BY rd.water DESC
</if>

系統(tǒng)會(huì)將sort認(rèn)為是數(shù)值型,拋出異常說無法識(shí)別的值。

mybatis動(dòng)態(tài)傳入order by參數(shù)的正確方式

正確方式:

ORDER BY #{shop_id} 換成 ORDER BY ${shop_id}

備注: #{shop_id}是過濾列值, ¥{shop_id}是過濾列名

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論