Mybaits 遍历Map【注解使用】
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 (\n" + " <foreach collection=\"cond[wkey]\" item=\"item\" index=\"index\" separator=\",\">\n" + " #{item}\n" + " </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表达式取值