`

mybatis 关于 like %%的方法

阅读更多

没想到 这个地方会遇到麻烦,之前用惯了 hibernate 悲剧

 

网上的很多 其实 都不对!至少我没有发现是对的

 

 

首先我的mybatis版本是

<dependency>
			<groupId>org.apache.ibatis</groupId>
			<artifactId>ibatis-sqlmap</artifactId>
			<version>2.3.4.726</version>
		</dependency>
 

 

OK 然后数据库是 mysql

 

注意 这里数据库 非常重要!

 

SELECT * FROM t_app
		<where>
			<if test="name != null">
				name like CONCAT('%','${name}','%' )
			</if>
			<if test="url != null">
				AND url like CONCAT('%','${url}','%' )
			</if>
		</where>
		limit #{begin},${end}

 sql语句是这样的,其实mybatis就是 简单的替换${name}的内容为你传入的参数值

 

 

所以 如果要加入%,就要使用数据能够支持的函数或者表达式,这个应该明白吧

 

而mysql中便是 concat函数,其他数据库也类似了 呵呵

分享到:
评论
5 楼 就爱吃西瓜 2014-07-30  
  不错!对我很有用。谢谢!
4 楼 kiss_the_java 2014-03-18  
这样输入\就会报错,有没有
3 楼 NeverGiveUpToChange 2013-11-03  
不错不错!!!!!!
2 楼 蜀山红日 2013-03-29  
请问oracle有类似的方法吗
1 楼 macrotea 2011-09-26  
nice 受教了

相关推荐

    Mybatis中的like模糊查询功能

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

    mybatis like传值

    ### MyBatis Like 传值方法详解 在MyBatis框架中处理SQL查询时,经常需要根据用户输入的模糊查询条件来构建动态SQL语句。其中,“LIKE”语句是实现这一功能的重要手段之一。本文将针对提供的四种不同的MyBatis LIKE...

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

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

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

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

    tkmybatis.rar

    wrapper.like(User::getUsername, username); return userMapper.selectList(wrapper); } ``` 此外,TkMybatis还支持自动填充公共字段,如创建时间和更新时间,只需在实体类中添加对应的注解,并在全局配置中开启...

    利用MyBatis进行不同条件的like模糊查询的方法

    MyBatis like模糊查询方法 MyBatis是一个流行的持久层框架,提供了强大的查询功能。其中,like模糊查询是最常用的查询方式之一。本文将介绍如何使用MyBatis进行不同条件的like模糊查询。 like模糊查询的原理 like...

    mybatis、mybatis详细设计、mybatis配置

    在MyBatis中,动态SQL是一种强大的特性,它可以允许我们在XML映射文件或者Mapper接口的方法上编写条件语句,极大地增强了SQL的灵活性。例如,根据条件选择性地加入WHERE子句: ```xml SELECT * FROM user != ...

    springmybatis

    MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in ... select * from user where userName like #{userName} 在 IUserOperation 接口中增加方法:public List...

    mybatis.plus官方中文文档

    3. **条件构造器**:MyBatis-Plus的QueryWrapper和UpdateWrapper是条件构造器,可以通过链式操作轻松构建复杂的查询条件,如eq(等于)、ne(不等于)、like(模糊查询)、gt(大于)、lt(小于)等。 4. **Lambda...

    mybatis实战

    在Mybatis中,增删改查(CRUD)操作可以通过Mapper接口的方法来实现,这些方法与XML映射文件中的SQL语句相对应。例如,插入数据时,调用insert方法,更新数据则对应update方法,删除操作对应delete,查询数据则通过...

    mybatis笔记

    - **命名参数**:对于方法只有一个参数的情况,可以直接使用`#{}`语法,MyBatis会自动识别并绑定参数。 - **Map参数**:如果方法参数是Map类型,可以使用`#{}`语法直接引用Map中的键值对。 #### 六、MyBatis中特殊...

    mybatis3.2.2 sqlmap通配实现

    在上述例子中,如果传入的参数为`%luck%`,MyBatis会自动生成`SELECT * FROM user WHERE name LIKE '%luck%'`这样的SQL语句,从而实现通配符查询。 此外,`&lt;if&gt;`元素可以用来控制通配符的添加与否,例如: ```xml !...

    MyBatis3.2.4完全自学手册

    在该方式下,SQL语句直接写在Java接口的方法上,通过注解指定SQL语句。 这两种方式可以混合使用,以满足不同场景的需求。 --- #### 五、SqlMapConfig配置文件说明 `SqlMapConfig.xml`是MyBatis的核心配置文件,...

    ezorm:一个易于使用的Golang ORM工具,支持MyBatis-Like XML模板SQL

    埃索姆介绍一个易于使用的Golang ORM工具,支持MyBatis-Like XML模板SQL特征功能齐全的ORM(几乎) MyBatis-Like XML模板SQL 开发人员友好入门 type RowType struct {Id intName string}type DAO struct {Id intName...

    MyBatis拦截器分页与动态修改SQL及其参数值

    例如,我们可以根据传入的参数来决定是否在WHERE子句中添加LIKE条件。这在处理模糊查询时非常有用。在PagingByExampl.java中,可能就演示了如何利用MyBatis的`&lt;if&gt;`标签来动态地构造WHERE子句。 4. **参数值修改**...

    MyBatis的27道面试题

    MyBatis模糊查询like语句的写法相对简单,只需要在占位符中加入%即可。 在DAO接口的工作原理方面,MyBatis通过动态代理生成接口的代理实例。Dao接口里方法参数不同时,方法可以重载,MyBatis通过动态代理和反射技术...

    MySQL Like模糊查询速度太慢如何解决

    以下是一些关于如何优化MySQL LIKE模糊查询的策略: 1. **索引失效**: - 当使用`LIKE %keyword%`时,即查询模式中前后都有通配符,MySQL无法使用索引,因为这种模式需要全表扫描。即使表中有针对该字段的索引,也...

    mybatis_plus_learn.zip

    4. **动态SQL**:MyBatis-Plus的条件构造器允许我们构建复杂的查询条件,如Eq(等于)、Ne(不等于)、Like(模糊匹配)等,无需手动编写SQL语句,提高了代码的可读性和可维护性。 5. **代码生成器**:MyBatis-Plus...

    Mybatis增强工具包(Mybatis plus) v3.5.3.2.zip

    Mybatis Plus 3.x 版本引入了对 Lambda 表达式的支持,使得条件构造更加简洁优雅,如 `eq()`、`gt()`、`like()` 等方法,使得代码更具有可读性。 10. **通用Mapper与通用Service**: 提供了通用的 Mapper 和 ...

Global site tag (gtag.js) - Google Analytics