1、遍历map
package com.isuzu.vehicle.onroad.dal.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.isuzu.vehicle.onroad.dal.entity.VehicleOnroad; import com.isuzu.vehicle.onroad.service.vo.VehicleOnroadVo; import com.ne.ice.boot.common.entity.Page; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Result; import org.apache.ibatis.annotations.Results; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.type.JdbcType; import java.util.Date; import java.util.List; import java.util.Map; /** * @author Yungui.Zheng */ public interface VehicleOnroadMapper extends BaseMapper<VehicleOnroad> { /** * 分页查询 * @param page 分页对象 * @param conditionMap 条件map * @param order 排序 * @return 分页list */ @Select("<script>" + " select " +" * " + " FROM " + " tm_vehicle_onroad " +" <where> " +" <foreach collection="cond.keys" item="wkey" >" +" <choose> " + " <when test="wkey =='vin'"> " +//关键词 " and vin like concat('%',#{cond[${wkey}]},'%') " + " </when> " + " <when test="wkey =='vinList'"> " +//用户vinList " and vin in ( " + " <foreach collection="cond[wkey]" item="item" index="index" separator=","> " + " #{item} " + " </foreach>) " + " </when> " + " <when test="wkey =='from'"> " +//开始时间 " and create_time >=#{cond[${wkey}]} " + " </when> " + " <when test="wkey =='to'"> " +//结束时间 " and create_time <=#{cond[${wkey}]} " + " </when> " + " <otherwise> " + " <if test="cond[wkey]!= null">and ${wkey}= #{cond[${wkey}]}</if> " + " </otherwise> " + " </choose>"+ "</foreach> "+ " </where> " +" <if test="order!= null"> ${order}</if> " + "</script>") List<VehicleOnroad> selectPageByMap(Page<VehicleOnroad> page, @Param("cond") Map<String, Object> conditionMap, @Param("order") String order) ; }
2、二级循环OGNL表达式取值