从此我们可以举一反三,凡是类似这类的问题,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 查询的详细内容。
