mybatis 的 like 查询

互联网 19-11-1
mybatis 自动生成的 like 查询,需要自己给参数添加 %,因为 mybatis 不会自动添加%号的,这是 mybatis 为了提供最大的灵活性决定的,因为 mybatis 并不知道我是要在哪一个位置添加 %。

从此我们可以举一反三,凡是类似这类的问题,mybatis都不会自动的给我们添加我们期望的符号,因为它不知道该在哪里添加,这种添加反而变成了画蛇添足。

    public PageInfo<StationCardPreBo> findStationCardPres(             StationCardPreQueryBo stationCardPreQueryBo, PageBo pageBo) {         StationCardPreQuery query = new StationCardPreQuery();         Criteria criteria = query.createCriteria();         if (stationCardPreQueryBo.getId() != null) {             criteria.andIdEqualTo(stationCardPreQueryBo.getId());         }         if (stationCardPreQueryBo.getStationNo() != null) {             criteria.andStationNoLike("%" + stationCardPreQueryBo.getStationNo() + "%");         }         if (stationCardPreQueryBo.getCardNo() != null) {             criteria.andCardNoLike("%" + stationCardPreQueryBo.getCardNo()+ "%");         }          // 设置分页参数         PageHelper.startPage(pageBo.getPageNum(), pageBo.getPageSize());         List<StationCardPre> list = stationCardPreMapper.selectByExample(query);          PageInfo<StationCardPre> tempPageInfo = new PageInfo<>(list);          PageInfo<StationCardPreBo> resultPage = new PageInfo<StationCardPreBo>();         BeanMapper.copy(tempPageInfo, resultPage);          if (CollectionUtils.isNotEmpty(list)) {             resultPage                     .setList(BeanMapper.mapList(list, StationCardPreBo.class));         }          return resultPage;     }

退一步讲,如果你不知道mybatis最后给我们拼接的 sql 语句是什么的话,你可以打印出来 mysql 最后给我们拼接完的语句,或者是我们可以在 mysql 的拼接处打上断点,这样我们就可以查看我们的sql语句了,从这里分析问题的最终原因。

mybatis sql 构造位置:

以上就是mybatis 的 like 查询的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: Mybatis
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java 下载网页,图片

相关资讯