这篇文章主要介绍了Mybatisplus中的like查询问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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中like使用说明
like的四种用法
like(boolean condition, String column, String value)
like(String column, String value)
like(boolean condition, String column, String value, SqlLike type)
like(String column, String value, SqlLike type)
condition
是一些条件,符合才可加上你的sqlcolumn
为 数据库属性value
为 你传入的值type
为 % 拼在那边:SqlLike
为枚举类
LEFT("left", "左边%"),
RIGHT("right", "右边%"),
CUSTOM("custom", "定制"),
DEFAULT("default", "两边%");
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:Mybatis plus中的like查询问题
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
猜你喜欢
- Spring Security权限想要细化到按钮实现示例 2023-03-07
- Springboot整合minio实现文件服务的教程详解 2022-12-03
- 基于Java Agent的premain方式实现方法耗时监控问题 2023-06-17
- Java中的日期时间处理及格式化处理 2023-04-18
- JSP 制作验证码的实例详解 2023-07-30
- JSP页面间传值问题实例简析 2023-08-03
- ExecutorService Callable Future多线程返回结果原理解析 2023-06-01
- 深入了解Spring的事务传播机制 2023-06-02
- Java实现顺序表的操作详解 2023-05-19
- SpringBoot使用thymeleaf实现一个前端表格方法详解 2023-06-06