博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis 模糊查询 like的三种方式
阅读量:6195 次
发布时间:2019-06-21

本文共 1574 字,大约阅读时间需要 5 分钟。

第一种

public void selectBykeyWord(String keyword) {

  String id = "%" + keyword + "%";
  String roleType = "%" + keyword + "%";
  String roleName = "%" + keyword + "%";
  userDao.selectBykeyWord(id,roleName,roleType);
}
在Dao层指定各个参数的别名

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

mapper.xml中

<select id="selectBykeyWord" parameterType="string" resultType="com.why.mybatis.entity.RoleEntity">

  SELECT
    *
  FROM
    t_role
  WHERE
    role_name LIKE #{roleName}
    OR id LIKE #{id}
    OR role_type LIKE #{roleType}
</select>

执行出来的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<RoleEntity> selectBykeyWord(@Param("keyword") String keyword);
<select id="selectBykeyWord" parameterType="string" resultType="com.why.mybatis.entity.RoleEntity">
  SELECT
    *
  FROM
    t_role
  WHERE
    role_name LIKE CONCAT('%',#{keyword},'%')
  OR
    id LIKE CONCAT('%',#{keyword},'%')
  OR
    role_type LIKE CONCAT('%',#{keyword},'%')
</select>

第三种

Mybatis的bind

<!-- 按条件查询用户 -->

<select id="searchData" resultMap="BaseResultMap">
  <bind name="pattern" value="searchData + '%'" />
  select
    <include refid="Base_Column_List" />
  from user
    where (name like #{pattern,jdbcType=VARCHAR} or login_name like #{pattern,jdbcType=VARCHAR}) and login_name != #{loginName,jdbcType=VARCHAR}
</select>

转载于:https://www.cnblogs.com/Samuel-Leung/p/10695301.html

你可能感兴趣的文章
tomcat https双向认证
查看>>
PXE自动安装操作系统
查看>>
【Nginx】Nginx多级代理,获取客户端真实请求IP以及每级代理IP
查看>>
我的友情链接
查看>>
选择企业邮箱 先鉴别邮件系统
查看>>
python子进程模块subprocess详解与应用实例 之二
查看>>
webview简单使用
查看>>
2、权限、变量、for 学习笔记
查看>>
大白话Docker入门(一)
查看>>
一分钟告诉你究竟DevOps是什么鬼?
查看>>
堆排序Heap sort
查看>>
java.net.SocketException: Broken pipe
查看>>
思科1242 AP无法连接到无线控制器
查看>>
简单介绍MySQL中的事务机制
查看>>
我的友情链接
查看>>
新建vim脚本自动添加作者信息(脚本)
查看>>
linux系统history显示操作时间和用户
查看>>
51cto的博客很不爽
查看>>
Extendable Files
查看>>
《深入理解Java虚拟机》(五)JVM调优 - 工具 JConsole
查看>>