模糊查询也是数据库SQL中使用频率很高的SQL语句,使用MyBatis来进行更加灵活的模糊查询。

直接传参法

直接传参法,就是将要查询的关键字keyword,在代码中拼接好要查询的格式,如%keyword%,然后直接作为参数传入mapper.xml的映射文件中。

public void selectBykeyWord(String keyword) {

String id = "%" + keyword + "%";

String roleType = "%" + keyword + "%";

String roleName = "%" + keyword + "%";

userDao.selectBykeyWord(id,roleName,roleType);

}

在Dao层指定各个参数的别名

List selectBykeyWord(@Param("id") String id,@Param("roleName") String roleName,@Param("roleType") String roleType);

SELECT

*

FROM

t_role

WHERE

role_name LIKE #{roleName}

OR id LIKE #{id}

OR role_type LIKE #{roleType}

执行出来的SQL语句:

SELECT

*

FROM

t_role

WHERE

role_name LIKE '%why%'

OR id LIKE '%why%'

OR role_type LIKE '%why%';

CONCAT()函数

MySQL的 CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一。

CONCAT(str1,str2,...)

List selectBykeyWord(@Param("keyword") String keyword);

SELECT

*

FROM

t_role

WHERE

role_name LIKE CONCAT('%',#{keyword},'%')

OR

id LIKE CONCAT('%',#{keyword},'%')

OR

role_type LIKE CONCAT('%',#{keyword},'%')

Mybatis的bind

List selectBykeyWord(@Param("keyword") String keyword);

SELECT

*

FROM

t_role

WHERE

role_name LIKE #{pattern}

OR

id LIKE #{pattern}

OR

role_type like #{pattern}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

mysql mybatis模糊查询语句_详解MyBatis模糊查询LIKE的三种方式相关推荐

  1. vue单文件props写法_详解Vue 单文件组件的三种写法

    详解Vue 单文件组件的三种写法 JS构造选项写法 export defaul { data, methods, ...} JS class写法 @Component export default c ...

  2. python解释器在哪里_详解查看Python解释器路径的两种方式

    进入python的安装目录, 查看python解释器 进入bin目录 # ls python(看一下是否有python解释器版本) # pwd (查看当前目录) 复制当前目录即可 1. 通过脚本查看 ...

  3. sh执行文件 参数传递_详解shell中脚本参数传递的两种方式

    方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${ ...

  4. MyBatis中模糊查询LIKE的三种方式

    在操作数据库时,查询是最常用的语句,模糊查询也是数据库SQL中使用频率很高的SQL语句,利用MyBatis框架来进行更加灵活的模糊查询,有如下三种方式: (1)直接传参法        直接传参法,就 ...

  5. js求两圆交点_详解js实现线段交点的三种算法

    本文讲的内容都很初级, 主要是面向和我一样的初学者, 所以请各位算法帝们轻拍啊 引用 已知线段1(a,b) 和线段2(c,d) ,其中a b c d为端点, 求线段交点p .(平行或共线视作不相交) ...

  6. MyBatis模糊查询like的三种方式

    MyBatis可以灵活的模糊查询 方法一 手动拼接 public void select1(String name) {String name = "%" + name+ &quo ...

  7. python表单提交的两种方式_详解flask表单提交的两种方式

    一.通用方式 通用方式就是使用ajax或者$.post来提交. 前端html ... data Submit &nbsp 将操作绑定 $(document).ready(function() ...

  8. 设置ngxin服务器虚拟主机,详解Nginx 虚拟主机配置的三种方式(基于端口)

    Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置. 2.Nginx基于端口的虚拟主机配置 如一台服务器只有一个IP或需要通过不同的端口访问不同 ...

  9. 详解vue路由传参的三种方式

    在我们开发vue项目的时候,路由传参几乎是我们必须要用到的,一般出现场景是,当我们点击某个组件的某个按钮时跳转到另一个组件中,并携带参数,便于第二个组件获取数据.下面我就来说说vue路由传参的三种方式 ...

最新文章

  1. windows10 下 vscode + cmake 编译 Qt6 代码
  2. 服务器怎么禁止iis静态文件,如何禁止IIS缓存静态文件
  3. 关于链表中经常用到的二级指针
  4. [原][osgearth]osgearthElvation中的一帧
  5. 大数据开发笔记(六):Flume基础学习
  6. [源码剖析]tinyhttpd-C语言实现最简单的HTTP服务器
  7. 自定义view——环形进度条,带progress值
  8. 一个android本地txt阅读器的思路与实现
  9. Spring STS 修改启动Java VM
  10. 怎么开启远程重启服务器,怎么正确重启服务器
  11. 全功能开源的企业级安全主动攻击型蜜罐钓鱼系统 HFish,你很有必要部署一套!...
  12. JAVA - 手机扫描二维码,页面响应(不是扫码登录)
  13. 剖析数据结构线性表,代码实现,分文件编写
  14. 磕技术、筑平台,浪潮存储如何持续破局?
  15. 关于java中的setOut()方法
  16. 5种小型设备上深度学习推理的高效算法
  17. 小程序(之音乐播放器实现思路)
  18. 圣诞树小程序,动态效果,八个小程序
  19. 控制手柄分体式滑环在船用起重机中的运用
  20. logstash中无法解析nginx日志中的\x09类似字符导致服务停止

热门文章

  1. leetcode 148. Sort List | 148. 排序链表(最优解归并排序,O(1)空间)
  2. 左神算法:分别用递归和非递归方式实现二叉树先序、中序和后序遍历(Java版)
  3. 【Python】自定义排序函数 - 示例
  4. 【PAT甲级 排序】1096 Consecutive Factors (20 分) C++ 全部AC
  5. 深入理解LSM-Tree
  6. JMM和底层实现原理
  7. java并发之线程封闭(二)
  8. C++学习笔记:(六)public、protected、private继承详解
  9. overflow-x理解_前端系列学习笔记
  10. [IDEA] 异常 Configuration is still incorrect. Do you want to edit it again? Error: module not specifie