mybatis的映射xml中動(dòng)態(tài)設(shè)置orderby方式
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)文章
Spring Boot整合logback一個(gè)簡單的日志集成架構(gòu)
今天小編就為大家分享一篇關(guān)于Spring Boot整合logback一個(gè)簡單的日志集成架構(gòu),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01
Java在PowerPoint幻燈片中創(chuàng)建散點(diǎn)圖的方法
散點(diǎn)圖是通過兩組數(shù)據(jù)構(gòu)成多個(gè)坐標(biāo)點(diǎn),考察坐標(biāo)點(diǎn)的分布,判斷兩變量之間是否存在某種關(guān)聯(lián)或總結(jié)坐標(biāo)點(diǎn)的分布模式,這篇文章主要介紹了Java如何在PowerPoint幻燈片中創(chuàng)建散點(diǎn)圖,需要的朋友可以參考下2023-04-04
利用IDEA工具修改Maven多模塊項(xiàng)目標(biāo)識(shí)包名全過程記錄
當(dāng)我們?yōu)榧追椒?wù)提供軟件開發(fā)服務(wù)時(shí),需要按照甲方的要求去修改軟件的標(biāo)識(shí),對于Maven項(xiàng)目來說就對應(yīng)著groupId,一般地寫對方公司的域名,如com.example,接下來通過本文給大家分享IDEA修改Maven多模塊項(xiàng)目標(biāo)識(shí)包名,感興趣的朋友一起看看吧2022-09-09
mybatis sum(參數(shù)) 列名作為參數(shù)的問題
這篇文章主要介紹了mybatis sum(參數(shù)) 列名作為參數(shù)的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Java代理模式與動(dòng)態(tài)代理之間的關(guān)系以及概念
代理模式是開發(fā)中常見的一種設(shè)計(jì)模式,使用代理模式可以很好的對程序進(jìn)行橫向擴(kuò)展。動(dòng)態(tài)代理:代理類在程序運(yùn)行時(shí)被創(chuàng)建的代理方式。關(guān)鍵在于動(dòng)態(tài),程序具有了動(dòng)態(tài)特性,可以在運(yùn)行期間根據(jù)不同的目標(biāo)對象生成動(dòng)態(tài)代理對象2023-02-02
SpringBoot工程中Spring Security應(yīng)用實(shí)踐記錄流程分析
Spring Security是一個(gè)能夠?yàn)榛赟pring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架。這篇文章主要介紹了SpringBoot工程中Spring Security應(yīng)用實(shí)踐,需要的朋友可以參考下2021-09-09

