您的位置:首页 > 其它

Mybatis plus like查询问题

2017-11-17 19:46 1641 查看

Mybatis plus like查询问题

又谈到了Mybatis plus了,真的很是痛心疾首,在做模糊查询的时候出现了一个问题,版本还是2.0.8,我觉得大问题没有小问题不断吧!

上代码

@MethodAnnot()
public static List<VwUserRole> getVwUserRoleByList(VwUserRole      vwUserRole){
return vwUserRoleService.selectList(
new EntityWrapper<VwUserRole>(vwUserRole).like("username",vwUserRole.getUsername(), SqlLike.DEFAULT));
}


模糊查询USER,讲道理来说是没有问题的,下面我们查一下这个SQL是什么

SELECT id,username,del_flag AS delFlag FROM vw_user_role WHERE username='a' AND del_flag='0' AND (username LIKE '%a%')


应该一下就可以看的出来 这样的查询语法怎么可能查询的出来数据呢?我觉得这算是一个Mybatis plus的Bug的吧!

解决方法也很简单,换个写法

@MethodAnnot()
public static List<VwUserRole> getVwUserRoleByList(VwUserRole vwUserRole){
EntityWrapper ew=new EntityWrapper();
ew.setEntity(new VwUserRole());
ew.eq("del_flag",'0');
ew.like("username",vwUserRole.getUsername(), SqlLike.DEFAULT);
return vwUserRoleService.selectList(ew);
}


我们看一下这样查询的SQL是什么

SELECT id,username,del_flag AS delFlag FROM vw_user_role WHERE (del_flag = 0 AND username LIKE '%a%')


这样是一点问题也没有的哦,应该能看出问题在那里吧?哈哈哈,不说了。

感觉还有好多地方会有坑等着我,踩一个坑记录一下吧!!!

mybatis-plus官方:http://baomidou.oschina.io/mybatis-plus-doc/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: