mybatis-plus指定字段模糊查询的实现方法

mybatis-plus版本:3.3.0

oracle版本:11g

很常见的一个需求场景:某张表在前端显示时,查询条件中,往往name字段需要模糊查询,否则默认mybatis-plus是用的全字符匹配查询。如何最小限度地改造代码,实现某个字段模糊查询,其实mybatis-plus官方文档给出了答案:

mybatis-plus指定字段模糊查询的实现方法_第1张图片

通过@TableField注解地condition属性,可以配置某个字段,始终使用模糊匹配,打开condition类,去看看有哪些可选项:

mybatis-plus指定字段模糊查询的实现方法_第2张图片

一共有5个可选项,默认是采用第一个:EQUAL。

接下来改造自己的代码:

mybatis-plus指定字段模糊查询的实现方法_第3张图片

然而在数据库为oracle的情况下会报错,打印出来的SQL如下:

SELECT COUNT(1)
 FROM TEST_TABLE
 WHERE TITLE LIKE CONCAT('%', '激光', '%');

由于oracle的CONCAT函数不支持拼接2个以上的参数,因此产生了错误。因此自己定义一个注解类,@TableField注解不变,

只需要注意引入的SqlCondition类是你自己新定义的类,或者为了避免混淆,干脆你换个名字不叫SqlCondition,如下:

mybatis-plus指定字段模糊查询的实现方法_第4张图片

问题解决。

总结

到此这篇关于mybatis-plus指定字段模糊查询的文章就介绍到这了,更多相关mybatis-plus字段模糊查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(mybatis-plus指定字段模糊查询的实现方法)