`

mybatis 模糊查询

 
阅读更多

使用数据库查询数据的时候,绝对会用到like进行模糊查询的,但是在myBatis中怎么实现呢

当时我有两个思路,第一在配置文件中配置, 最开始配置成如下:

 and user_name like %#{userName}%,但是报错

这个错误有两处,一是应该用单引号把%#{userName}%括起来,二是不能用#号,而是改成$号,所以正确的配置应该是 and user_name like '%${userName}%'。

第二个思路是,配置文件不该,还为and user_name like #{userName},而在程序里做手脚,如在给userName赋值的setUserName方法中,使用成this.userName="'%"+userName+"%'"这样

两种方式都可以

但是推荐使用第一种方式,这样不用修改pojo类,不会造成业务逻辑错误

分享到:
评论
5 楼 aa00aa00 2014-10-28  
'%${userName}%' 这种是可以的,是可以模糊查询的!!.
楼主说的是正确的
4 楼 slowvic 2013-02-01  
不能用第一种,破坏了PreparedStatement。
3 楼 timer_yin 2012-03-08  
wcp88888888 写道
timer_yin 写道
我试过还是不行 只能在程序中改

奇怪了,第一种方式我试过呀,是通过测试的,你在多看看,是不是哪里写错了



这么写就对了 like "%"#{username}"%"
2 楼 wcp88888888 2012-03-01  
timer_yin 写道
我试过还是不行 只能在程序中改

奇怪了,第一种方式我试过呀,是通过测试的,你在多看看,是不是哪里写错了
1 楼 timer_yin 2012-02-27  
我试过还是不行 只能在程序中改

相关推荐

    MyBatis模糊查询

    ### MyBatis模糊查询知识点详解 #### 一、MyBatis简介 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以通过...

    mybatis模糊查询

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

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

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

    mybatis 模糊查询的实现方法

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

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

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

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

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

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

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

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

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

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

    MyBatis实现模糊查询的几种方式 MyBatis是一款流行的基于Java的持久层框架,它提供了强大灵活的方式来与数据库进行交互。在实际开发中,我们经常需要实现模糊查询来满足业务需求。今天,我们将探讨MyBatis实现模糊...

    MyBatis中的模糊查询语句

    在MyBatis这个轻量级的持久层框架中,模糊查询是通过SQL语句来实现的,这使得我们可以灵活地构建复杂的查询逻辑。下面将详细介绍MyBatis中的模糊查询语句及其应用。 1. 模糊查询基本概念: 模糊查询通常使用SQL中的...

    Mybatis中的like模糊查询功能

    在Mybatis这个流行的持久层框架中,实现模糊查询功能,特别是`LIKE`操作,可以帮助开发者更灵活地处理数据过滤。本文将详细介绍Mybatis中使用`LIKE`进行模糊查询的几种方法。 1. **参数中直接加入`%`** 在Mybatis...

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

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

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

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

    使用Mybatis框架的模糊查询

    本文将深入探讨如何在Mybatis框架中实现模糊查询,以帮助开发者更高效地进行数据检索。 首先,理解模糊查询的基本概念。在SQL中,模糊查询通常使用`LIKE`关键字来实现,允许我们在条件表达式中包含通配符,以匹配...

    java代码-使用java解决mybatis模糊匹配写法的源代码

    java代码-使用java解决mybatis模糊匹配写法的源代码 ——学习参考资料:仅用于个人学习使用!

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

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

    mybatis 父子级树形结构查询

    本文将深入探讨如何使用MyBatis进行父子级树形结构查询,避免繁琐的代码拼接。 首先,我们了解MyBatis的`collection`标签。在MyBatis的映射XML文件中,`<collection>`标签用于表示一对多的关系,它允许我们在一次...

    MyBatis的27道面试题

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

    MyBatis-plus 模糊查询的使用

    MyBatis-plus提供了简单易用的模糊查询功能。 在MyBatis-plus中,模糊查询主要通过`QueryWrapper`类来实现。`QueryWrapper`是一个条件构造器,可以方便地构建复杂的查询条件。以下是如何使用`QueryWrapper`进行模糊...

Global site tag (gtag.js) - Google Analytics