Mybaits 遍歷Map【註解使用】
阿新 • • 發佈:2020-12-01
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表示式取值