`
qieyi28
  • 浏览: 158260 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ibatis中使用like模糊查询

 
阅读更多

无效的方法:

select  *  from table1 where name like '%#name#%'

两种有效的方法:

1. 使用$代替#。此种方法就是去掉了类型检查,使用字符串连接,不过可能会有sql注入风险。

select  *  from table1 where name like '%$name$%'

 

2.使用连接符。不过不同的数据库中方式不同。

mysql:

select  *  from table1 where name like concat('%', #name#, '%')

oracle:

select  *  from table1 where name like '%' || #name# || '%'

 sql server:

select  *  from table1 where name like '%' + #name# + '%'

  

注意:在实际开发中,往往我们需要将模糊查询的空格去掉。为了防止将去除空格放到业务层去,因此我建议如下写(oracle 中,其他数据库雷同):

select  *  from table1 where name like '%' || Trim(#name#) || '%'

 

 

分享到:
评论

相关推荐

    iBATIS模糊查询

    模糊查询是指在数据库中搜索包含指定字符串的记录,通常使用LIKE谓词来实现。 在iBATIS中,模糊查询可以通过在映射文件中定义SQL语句来实现。例如,以下是使用iBATIS实现模糊查询的示例代码: ```xml select * ...

    IBatis完成单表基本的数据库操作 模糊查询

    标题 "IBatis完成单表基本的数据库操作 模糊查询" 涉及到的是使用iBatis这个轻量级的持久层框架进行数据库的基本操作,特别是模糊查询。iBatis是一个优秀的SQL映射框架,它允许开发者将SQL语句与Java代码分离,提高...

    07_ibatis教程_模糊查询实体对象.rar )

    1. **使用Like关键字**:在SQL语句中,可以使用`LIKE`关键字配合通配符`%`来实现模糊查询。例如,如果想查询名字中包含"张"的所有用户,可以编写如下的动态SQL: ```xml SELECT * FROM user WHERE name LIKE #{...

    07_ibatis教程_模糊查询实体对象.zip

    在本教程"07_ibatis教程_模糊查询实体对象"中,我们将深入学习如何使用iBatis这个流行的Java持久层框架进行模糊查询操作,尤其是在处理实体对象时。iBatis作为一个轻量级的ORM(Object-Relational Mapping)工具,它...

    操作数据库 iBATIS查询

    当需要执行一个模糊查询时,通常会使用`LIKE`关键字配合通配符`%`。例如,以下SQL语句将查询所有姓“张”的学生: ```sql SELECT * FROM T_STUDENT WHERE S_NAME LIKE '张%'; ``` 在iBATIS中,可以使用类似的方法...

    ibatis的实现(包含模糊查询、关联查询、增删改查)

    首先,模糊查询是数据库操作中常见的功能,Ibatis通过`<if>`标签或`<where>`标签配合`#{}`占位符来实现。例如,如果你有一个用户搜索框,可以动态地拼接SQL中的LIKE条件,如下所示: ```xml SELECT * FROM User ...

    ibatis的动态查询

    以上内容详细介绍了 ibatis 中动态查询的基本原理及具体实现方法,包括模糊查询、多条件组合查询以及使用 Map 作为参数的高级用法。这些知识点对于深入理解 ibatis 的动态查询机制非常重要,可以帮助开发者更高效地...

    ibatis总结 ibatis ibatis ibatis ibatis

    - 避免在`WHERE`子句中使用多个条件或`OR`操作符,而是应该使用`IN`操作符或者`UNION ALL`合并多个查询。 3. Struts、Spring与Ibatis的集成: - Struts作为MVC框架,主要负责视图与控制器的交互。在项目中,`...

    ibatis Example使用

    代码中使用了JSON格式来封装查询结果,并将其作为HTTP响应返回给前端。这是Web应用中常用的一种数据交互方式。 #### 5.2 错误处理 ```java catch (Exception e) { this.log.error("添加页面关键字失败--" + e....

    常用ibatis配置

    描述部分提到的“返回新建数据ID,分页查询,查询条件,模糊查询,date时间段,list集合,截止日期”则是在iBatis配置中常见的几种操作场景,这些场景在数据持久化的操作中非常实用。下面详细解释这些知识点: 1. 返回...

    ibatis sql语句对条件中特殊字符% # 处理

    特别是在使用类似`LIKE`这样的操作符时,如果用户输入的数据中含有`%`、`_`或`#`等特殊字符,那么这些字符可能会被SQL解释器误认为是通配符或者特殊符号,导致查询结果不符合预期。本文将详细介绍如何在ibatis框架下...

    ibatis-sqlmap-2.3.0中sqlmap支持通配符

    在处理动态SQL时,有时我们需要在查询条件中使用通配符来实现模糊匹配。例如,我们可能需要搜索以特定字符开头或包含特定字符串的数据。在Ibatis SqlMap 2.3.0中,它为开发者提供了这样的功能,允许在SQL语句中使用...

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

    本文将详细介绍 Mybatis 中 Oracle 的拼接模糊查询及用法,旨在帮助开发者更好地使用 Mybatis 实现 Oracle 数据库的查询操作。 一、拼接模糊查询的正确写法 在 Oracle 中,拼接模糊查询的正确写法是使用 `concat` ...

    ibatis常见案例

    模糊查询常用于文本搜索,Ibatis支持在SQL语句中使用`LIKE`关键字结合通配符进行模糊匹配。例如,用户输入的部分关键词可以与数据库中的数据进行比较。 ```xml SELECT * FROM users WHERE username LIKE CONCAT('...

    ibatisDemo

    在Ibatis中,可以使用SQL的LIKE操作符结合通配符(%或_)来实现模糊查询。例如,`WHERE column LIKE '%pattern%'` 将找到所有在指定列中包含"pattern"的行。 5. **多参数查询**: 当需要根据多个条件进行查询时,...

    J2ME数据库操作模糊查询

    除了使用JDBC,还可以使用ORM(Object-Relational Mapping)框架,如ProGuard或iBatis,它们可以帮助简化数据库操作,将Java对象与数据库表映射起来,从而更方便地实现模糊查询。 在J2ME中进行模糊查询时,还需要...

    jsf+ibatis增删改查

    模糊查询通常涉及SQL的`LIKE`操作,可以在iBatis的映射文件中配置,然后在JSF页面提供搜索框,将输入传递给后台进行模糊匹配。 9. **错误处理和验证**:JSF提供了内置的验证机制,可以对用户输入进行校验,防止无效...

    ibatis框架实现的增删改查

    本篇文章将深入探讨如何使用Ibatis框架实现对`student`表的增删改查操作,包括模糊查询以及利用序列自动生成主键。 首先,我们来理解Ibatis的基本概念。Ibatis是由Apache基金会维护的一个开源项目,它是一个SQL映射...

    ibatis增删查改实现

    对于模糊查询,可以在SQL中使用`LIKE`关键字配合`%`通配符,例如:`SELECT * FROM user WHERE username LIKE #{username}%`。 **修改(Update)**: 在`updateUser()`方法上使用`@Update`注解,传入待更新的对象,...

    ibatis PPT

    在 SQL 映射文件中,可以编写带有 LIKE 子句的 SQL 语句来进行模糊查询。例如,要查询所有名字包含特定字符的用户,可以编写如下 SQL: ```xml SELECT * FROM users WHERE username LIKE '%' || #keyword# || '%'...

Global site tag (gtag.js) - Google Analytics