Mybatis使用map参数查询 |
您所在的位置:网站首页 › mybatis参数为map › Mybatis使用map参数查询 |
以Map为参数直接查询。 以分页对象中的Map作为参数查询。 第一种:Map为参数直接查询:查询参数 : Map paramMap = new HashMap(); paramMap.put("begTime", begTime); paramMap.put("endTime", endTime); paramMap.put("goodsname", allgoodsname); //查询方法 List idList = mainMapper.selectMemberCard(paramMap);Mapper层: /** * 根据时间和商品型号查询会员id集合 * * @param paramMap * @return */ List selectMemberCard(Map paramMap);Mapper.xml SELECT customer_id AS customerId FROM main_order WHERE 1=1 and unix_timestamp(CHARGE_END_TIME) between unix_timestamp(#{begoTime}) and unix_timestamp(#{endgoTime}) and goodsname like CONCAT('%','${goodsname}','%')由于Mapper层没有使用@Param注解,所以在XMl直接去map里的参数名称即可取到值 2. 第二种 分页对象中的Map作为参数查询: 查询参数 (所有的查询参数都放到分页对象的Map集合中) : Map paramMap = new HashMap(); paramMap.put("begTime", begTime); paramMap.put("endTime", endTime); //分页查询会员信息 Page pages = new Page(); pages.setLimit(exportTemplateService.getMaxExportCount()); pages.setOffset(0); pages.setParamMap(paramMap); List cardList = cardInfoMapper.selectcardListByValue(pages);Pages分页实体对象 public class Page implements Serializable { private static final long serialVersionUID = -3323321457300243220L; /** 总记录数 */ private long total; /** 当前页对应的记录列表 */ private List rows; /** 分页查询条件对应的参数Map */ private Map paramMap; /** 排序字符串 */ private String orderBy; /**一次取多少条**/ private int limit; /**从第几条开始去**/ private int offset;Mapper层: /** * * 根据会员开卡时间查询会员卡信息 * @param page * @return */ List selectExcelListByValue( @Param("page") Page page);Mapper.xml SELECT FROM membershipcardinfo WHERE 1 = 1 and unix_timestamp(CREATE_TIME) between unix_timestamp('${page.paramMap.begTime}') and unix_timestamp('${page.paramMap.endTime}')由于使用@Param注解,所以接收参数时先要找到注解的参数名page,然后找到page对象里的map集合,然后取集合中的某个参数。即page.paramMap.begTime 结束,欢迎反馈。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |