1. sql中字符串拼接
SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');
2. 使用 ${...} 代替 #{...}
SELECT * FROM tableName WHERE name LIKE '%${text}%';
3. 程序中拼接
Java
// String searchText = "%" + text + "%";
String searchText = new StringBuilder("%").append(text).append("%").toString();
parameterMap.put("text", searchText);
SqlMap.xml
SELECT * FROM tableName WHERE name LIKE #{text};
4. 大小写匹配查询
SELECT * FROM TABLENAME WHERE UPPER(SUBSYSTEM) LIKE '%' || UPPER('jz') || '%'
或者
SELECT * FROM TABLENAME WHERE LOWER(SUBSYSTEM) LIKE '%' || LOWER('jz') || '%'
原帖地址:http://blog.csdn.net/luqin1988/article/details/7865643
另外:
mybatis中的#和$的区别?
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id".
2. $将传入的数据直接显示生成在sql中。如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id.
3. #方式能够很大程度防止sql注入。
4.$方式无法防止Sql注入。
5.$方式一般用于传入数据库对象,例如传入表名.
6.一般能用#的就别用$.
MyBatis排序时使用order by 动态参数时需要注意,用$而不是#
相关推荐
### MyBatis模糊查询知识点详解 #### 一、MyBatis简介 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以通过...
mybatis模糊查询,oracal,mysql,sqlserver三种不同数据库的不同写法
在MyBatis中,模糊查询是一种常见的查询方式,特别是在数据搜索功能中不可或缺。本文将详细介绍如何在MyBatis中实现模糊查询,以及`#`和`$`的区别。 首先,让我们来理解`#`和`$`的区别。这两个符号在MyBatis中用于...
特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)
Mybatis模糊查询和动态sql语句的用法 Mybatis是当前最流行的Java持久层框架之一,它提供了强大的数据库交互功能,包括模糊查询和动态sql语句的支持。本文将详细介绍Mybatis模糊查询和动态sql语句的用法。 一、模糊...
MyBatis_模糊查询.rar
下面将详细介绍MyBatis中的模糊查询语句及其应用。 1. 模糊查询基本概念: 模糊查询通常使用SQL中的LIKE关键字配合通配符来完成。在MySQL和大部分SQL方言中,`%`通配符用于表示任意数量的字符,包括零个字符。例如...
在MyBatis的mapper文件中,我们可以使用${…}代替#{…}来实现模糊查询。例如: ```xml SELECT * FROM test_student != null and age != '' and compare != null and compare != ''"> age ${compare} #{age} ...
MyBatis模糊查询LIKE的三种方式详解 MyBatis是一种流行的持久层框架,它提供了多种方式来实现模糊查询。模糊查询是数据库SQL中使用频率很高的SQL语句,通过MyBatis可以更加灵活地进行模糊查询。本文将详解MyBatis...
在Mybatis中,实现模糊查询主要有以下步骤: 1. **创建Mapper接口和XML配置文件**: 在Mybatis中,我们需要定义一个Mapper接口,该接口中包含一个用于执行模糊查询的方法。同时,还需要在对应的XML配置文件中编写...
spring+Mybatis+SpringMVC资源整合(增删改查+模糊查询)精心制作,适合新手学习。采用myeclipse,mysql数据库,内附sql文件。 首页路径:http://localhost:8080/springmvc4/user/search
Mybatis模糊查询及自动映射实现详解 Mybatis是一款优秀的持久层框架,它提供了强大的查询功能和自动映射机制,今天我们将深入探讨Mybatis模糊查询及自动映射实现的详细知识点。 一、Mybatis模糊查询 Mybatis提供...
Mybatis 中 Oracle 的拼接模糊查询及用法详解 Mybatis 是一个基于 Java 的持久层框架,提供了强大的数据库交互能力,而 Oracle 则是业界最流行的关系数据库管理系统。本文将详细介绍 Mybatis 中 Oracle 的拼接模糊...
本文将详细介绍Mybatis中使用`LIKE`进行模糊查询的几种方法。 1. **参数中直接加入`%`** 在Mybatis的动态SQL中,我们可以直接在传入的参数中添加`%`符号来实现模糊查询。例如,对于`username`和`password`字段,...
二、MyBatis模糊查询实现 MyBatis提供了两种方式来实现模糊查询,下面我们将详细介绍每种方式。 1. 使用#{name}实现模糊查询 这种方式可以使用#{name}来实现模糊查询。在Mapper映射文件中,我们可以使用select...
代码包含: EscapeUtil.java:特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%...
下面是一个基本的示例,展示了如何在MyBatis中使用`collection`标签: ```xml SELECT * FROM department != null"> WHERE parent_id = #{parentId} ORDER BY dept_name SELECT * FROM employee WHERE ...
在MyBatis-plus中,模糊查询主要通过`QueryWrapper`类来实现。`QueryWrapper`是一个条件构造器,可以方便地构建复杂的查询条件。以下是如何使用`QueryWrapper`进行模糊查询的步骤: 1. 首先,你需要创建一个`Query...
Mybatis中的模糊查询 - 副本