动态Sql之if用法和in用法示例
(动态查询字段和表名)
<select id="findSensorInfoBySingleArea2" resultType="Map">
selectsh.RecevieDate
<if test="column!=nulland'SoilTemperature1'==column">
,sh.SoilTemperature1
</if>
<if test="column!=nulland'SoilTemperature2'==column">
,sh.SoilTemperature2
</if>
<if test="column!=nulland'Soilhumidity1'==column">
,sh.Soilhumidity1
</if>
<if test="column!=nulland'Soilhumidity2'==column">
,sh.Soilhumidity2
</if>
<if test="column!=nulland'Soilhumidity3'==column">
,sh.Soilhumidity3
</if>
<if test="column!=nulland'Soilhumidity4'==column">
,sh.Soilhumidity4
</if>
<if test="column!=nulland'AirTemperature'==column">
,sh.AirTemperature
</if>
<if test="column!=nulland'AirHumidity'==column">
,sh.AirHumidity
</if>
<if test="column!=nulland'RainFall'==column">
,sh.RainFall
</if>
<if test="column!=nulland'WindSpeed'==column">
,sh.WindSpeed
</if>
<if test="column!=nulland'jiwen1'==column">
,sh.jiwen1
</if>
<iftest="column!=nulland'jiwen2'==column">
,sh.jiwen2
</if>
<iftest="column!=nulland'jiwen3'==column">
,sh.jiwen3
</if>
<if test="column!=nulland'jiwen4'==column">
,sh.jiwen4
</if>
from
<if test="tablename!=nulland'sensorhistorydata'==tablename">
sensorhistorydataassh
</if>
<if test="tablename!=nulland'sensorhistorydata_month'==tablename">
sensorhistorydata_monthassh
</if>
<if test="tablename!=nulland'sensorhistorydata_xun'==tablename">
sensorhistorydata_xunassh
</if>
<if test="tablename!=nulland'sensorhistorydata_day'==tablename">
sensorhistorydata_dayassh
</if>
<if test="tablename!=nulland'sensorhistorydata_hour'==tablename">
sensorhistorydata_hour as sh
</if>
where sh.sensorid in
<foreach item="item" index="index" collection="ids"
open="(" separator="," close=")">
#{item}
</foreach>
andsh.RecevieDatebetween#{startTime}and#{endTime}
orderBYsh.RecevieDateASC
</select>