`
javis163
  • 浏览: 45072 次
  • 性别: 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# + '%'

 

分享到:
评论

相关推荐

    操作数据库 iBATIS查询

    #### 一、iBATIS中的LIKE查询技巧 iBATIS是一款优秀的Java持久层框架,它简化了基于SQL的程序编写,避免了程序员手动处理结果集和手工编写SQL语句。在进行数据库查询时,LIKE查询是一种常见的需求,特别是在搜索...

    ibatis的动态查询

    ### ibatis的动态查询知识点详解 #### 一、模糊查询 **知识点1:** 在进行模糊查询时,ibatis支持两种不同的语法标记:`#` 和 `$`。 1. **使用 `$value$` 进行模糊查询:** - 在进行模糊查询时,使用 `$value$` ...

    ibatis总结 ibatis ibatis ibatis ibatis

    - 在编写SQL时,应避免使用全模糊匹配`LIKE '%text%'`,而应尽可能使用带有前缀或后缀的模糊匹配,如`LIKE 'text%'`,这可以显著提升查询效率。 - 使用`EXISTS`子查询通常比直接关联查询更高效,尤其是在数据量大...

    ibatis and和or联合查询 .doc

    通过以上分析可以看出,ibatis提供了强大的动态SQL功能,能够方便地处理复杂的查询逻辑。利用 `<dynamic>` 标签和 `<isNotEmpty>`, `<isNotNull>` 等子标签,可以灵活地控制SQL语句的生成。这对于实现复杂的查询条件...

    IBATIS动态查询语句.doc

    综上所述,IBATIS(MyBatis)的动态查询功能不仅极大地增强了SQL语句的灵活性,还通过预编译SQL语句的方式提高了应用的安全性和执行效率,是处理复杂查询场景的理想选择。通过深入理解和掌握IBATIS动态查询的技巧,...

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

    综上所述,iBatis提供了一种简单、灵活的方式来处理数据库操作,特别是像模糊查询这样的复杂查询。通过将SQL与Java代码解耦,iBatis使你的代码更易于理解和维护。对于那些需要处理大量数据库操作的项目,iBatis是一...

    sqlserver Ibatis XML自动生成工具

    总结来说,SQLServer Ibatis XML自动生成工具是Java开发中的得力助手,尤其适合于处理Ibatis的XML映射文件生成。它通过自动化的方式,帮助开发者快速创建和维护数据库操作的映射文件,从而提高开发速度,降低错误率...

    ibatis教程_查询指定id的单个对象

    总的来说,Ibatis通过简洁的API和灵活的映射机制,让开发者能够方便地处理数据库查询,尤其是查询指定ID的单个对象这种常见的业务场景。通过学习和掌握Ibatis,你可以更高效地构建数据访问层,提升项目的可维护性和...

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

    ### ibatis SQL语句对条件中特殊字符% # 处理 在开发过程中,经常会遇到SQL查询时需要处理字符串中的特殊字符的情况。特别是在使用类似`LIKE`这样的操作符时,如果用户输入的数据中含有`%`、`_`或`#`等特殊字符,...

    iBatis文档\ibatis.doc

    `XmlSqlMapClientBuilder`用于构建SqlMapClient实例,它是iBatis的核心接口,提供了执行SQL语句和处理结果集的方法。例如,你可以这样创建SqlMapClient: ```java SqlMapClient sqlMap = SqlMapClientBuilder....

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

    总的来说,Ibatis的模糊查询功能是其强大之处之一,它使得开发者能够更加方便地处理各种复杂查询场景。通过本教程的学习,开发者可以更好地理解和应用Ibatis进行模糊查询实体对象,从而提高开发效率和项目质量。

    ibatis Example使用

    Example模式是ibatis提供的一种查询方式,它允许开发者通过一个示例对象来构造查询条件,从而实现更为灵活的查询逻辑。这种模式特别适合于复杂的查询需求,如多条件组合查询等。 ### 4. **Example模式的具体应用** ...

    API ibatis2

    在iBATIS 2版本中,这个框架提供了强大的数据映射功能,允许程序员以面向对象的方式操作数据库,而无需处理低级JDBC代码。 ### iBATIS 概述 iBATIS 2的核心概念包括SqlMapConfig.xml配置文件、SqlMap接口和动态SQL...

    jsf+ibatis增删改查

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

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

    Ibatis,作为一个轻量级的Java持久层框架,提供了灵活的SQL映射机制,使得开发者能够更方便地处理数据库交互。本篇文章将深入探讨Ibatis SqlMap在2.3.0版本中对通配符的支持,帮助开发者更好地理解和利用这一特性。 ...

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

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

    ibatis资料

    在Ibatis的动态SQL中,`#`和`$`是两个关键符号,它们代表不同的占位符处理方式: 1. **`#`**:预编译参数,用于传入参数,会将参数包裹在`PreparedStatement`的占位符`?`中,防止SQL注入。例如: ```xml SELECT...

    Ibatis高级使用讲解

    总的来说,Ibatis的动态查询机制极大地简化了处理复杂查询条件的代码编写,避免了大量冗余的Statement定义。通过灵活的判定节点,如`<isNotEmpty>`、`<if>`、`<choose>`等,可以构建出适应各种业务场景的动态SQL语句...

    ibatis高级特性

    ibatis 提供了强大的数据关联功能来处理这些场景。 ##### 1. 一对多关联 一对多关联是指一个实体对象与多个其他实体对象之间存在关联关系。例如,在用户(User)和地址(Address)的关系中,一个用户可以有多个地址。 ...

    Ibatis调用Oracle存储过程返回自定义类型

    本文将深入探讨如何使用Ibatis框架来调用Oracle数据库中的存储过程,并实现返回自定义类型的处理方法。 #### Oracle自定义类型简介 Oracle支持用户自定义数据类型,这为复杂数据结构的应用提供了极大的便利。...

Global site tag (gtag.js) - Google Analytics