`
843977358
  • 浏览: 245876 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mybatis中模糊查询

阅读更多

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简介 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以通过...

    mybatis模糊查询

    mybatis模糊查询,oracal,mysql,sqlserver三种不同数据库的不同写法

    mybatis 模糊查询的实现方法

    在MyBatis中,模糊查询是一种常见的查询方式,特别是在数据搜索功能中不可或缺。本文将详细介绍如何在MyBatis中实现模糊查询,以及`#`和`$`的区别。 首先,让我们来理解`#`和`$`的区别。这两个符号在MyBatis中用于...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符统一进行转义处理的代码

    特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)

    Mybatis模糊查询和动态sql语句的用法

    Mybatis模糊查询和动态sql语句的用法 Mybatis是当前最流行的Java持久层框架之一,它提供了强大的数据库交互功能,包括模糊查询和动态sql语句的支持。本文将详细介绍Mybatis模糊查询和动态sql语句的用法。 一、模糊...

    MyBatis中的模糊查询语句

    下面将详细介绍MyBatis中的模糊查询语句及其应用。 1. 模糊查询基本概念: 模糊查询通常使用SQL中的LIKE关键字配合通配符来完成。在MySQL和大部分SQL方言中,`%`通配符用于表示任意数量的字符,包括零个字符。例如...

    MyBatis实现模糊查询的几种方式

    在MyBatis的mapper文件中,我们可以使用${…}代替#{…}来实现模糊查询。例如: ```xml SELECT * FROM test_student != null and age != '' and compare != null and compare != ''"> age ${compare} #{age} ...

    详解MyBatis模糊查询LIKE的三种方式

    MyBatis模糊查询LIKE的三种方式详解 MyBatis是一种流行的持久层框架,它提供了多种方式来实现模糊查询。模糊查询是数据库SQL中使用频率很高的SQL语句,通过MyBatis可以更加灵活地进行模糊查询。本文将详解MyBatis...

    使用Mybatis框架的模糊查询

    在Mybatis中,实现模糊查询主要有以下步骤: 1. **创建Mapper接口和XML配置文件**: 在Mybatis中,我们需要定义一个Mapper接口,该接口中包含一个用于执行模糊查询的方法。同时,还需要在对应的XML配置文件中编写...

    Mybatis 中 Oracle 的拼接模糊查询及用法详解

    Mybatis 中 Oracle 的拼接模糊查询及用法详解 Mybatis 是一个基于 Java 的持久层框架,提供了强大的数据库交互能力,而 Oracle 则是业界最流行的关系数据库管理系统。本文将详细介绍 Mybatis 中 Oracle 的拼接模糊...

    spring+Mybatis+SpringMVC资源整合(增删改查+模糊查询)精心制作,适合新手学习

    spring+Mybatis+SpringMVC资源整合(增删改查+模糊查询)精心制作,适合新手学习。采用myeclipse,mysql数据库,内附sql文件。 首页路径:http://localhost:8080/springmvc4/user/search

    Mybatis模糊查询及自动映射实现详解

    Mybatis模糊查询及自动映射实现详解 Mybatis是一款优秀的持久层框架,它提供了强大的查询功能和自动映射机制,今天我们将深入探讨Mybatis模糊查询及自动映射实现的详细知识点。 一、Mybatis模糊查询 Mybatis提供...

    Mybatis中的like模糊查询功能

    本文将详细介绍Mybatis中使用`LIKE`进行模糊查询的几种方法。 1. **参数中直接加入`%`** 在Mybatis的动态SQL中,我们可以直接在传入的参数中添加`%`符号来实现模糊查询。例如,对于`username`和`password`字段,...

    mybatis分页及模糊查询功能实现

    二、MyBatis模糊查询实现 MyBatis提供了两种方式来实现模糊查询,下面我们将详细介绍每种方式。 1. 使用#{name}实现模糊查询 这种方式可以使用#{name}来实现模糊查询。在Mapper映射文件中,我们可以使用select...

    MyBatis-plus 模糊查询的使用

    在MyBatis-plus中,模糊查询主要通过`QueryWrapper`类来实现。`QueryWrapper`是一个条件构造器,可以方便地构建复杂的查询条件。以下是如何使用`QueryWrapper`进行模糊查询的步骤: 1. 首先,你需要创建一个`Query...

    Mybatis自定义拦截器,对模糊查询传值的特殊字符(\,_,%)统一进行转义处理的代码

    代码包含: EscapeUtil.java:特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%...

    mybatis 父子级树形结构查询

    下面是一个基本的示例,展示了如何在MyBatis中使用`collection`标签: ```xml SELECT * FROM department != null"> WHERE parent_id = #{parentId} ORDER BY dept_name SELECT * FROM employee WHERE ...

    Mybatis中的模糊查询 - 副本.md

    Mybatis中的模糊查询 - 副本

    mybatis 增删改查 模糊查询 操作

    在本教程中,我们将深入探讨如何在 MyBatis 中进行基本的 CRUD(创建、读取、更新、删除)操作以及模糊查询。 1. **创建(Create)**: 创建操作通常涉及插入新记录到数据库。在 MyBatis 中,你可以通过 XML 映射...

Global site tag (gtag.js) - Google Analytics