动态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>