`
springking
  • 浏览: 131830 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ibatis的like关键字用法小结

阅读更多

        前天,有朋友问我,select * from T_STUDENT where S_NAME like '张%';这种like语句在ibatis中怎么写,他们现在的项目是用ibatis作为持久层的框架。

        我的第一反应是这样写:

<select id="showOneStudentByName" parameterClass="String" resultMap="studentORM">
select * from t_stu where s_name like #name#
</select>

 

但是在调用中需要在参数的前后加上%,比如这样:

 return sqlMapper.queryForList("Student.showOneStudentByName", "%"+name+"%");

 

虽然这样可行,但总显得有些不协调。仔细看了ibaitis的文档后发现最好的写法是这样

<select id="showOneStudentByName" parameterClass="String" resultMap="studentORM">
select * from t_stu where s_name like '%'||#name#||'%'
</select>

 在调用的时候就不用去前后加%了。

注意:sql语句不要写成select * from t_stu where s_name like '%$name$%',这样极易受到注入攻击。

 

 

分享到:
评论
2 楼 playboyb 2010-09-07  
'%'||#name#||'%' 查询的结果有错误。例如:数据库中有这样的数据: ABC
此时name="AC",此时用这个语句的时候,也能够查询出ABC这条数据。我想这应该不符合业务逻辑的吧!所以我的做法还是用这种做法:"%"+name+"%",虽然不怎么好看,但比较实用。
1 楼 lawuu 2008-08-20  
补充:
http://lawuu.iteye.com/blog/230791

相关推荐

    ibatis入门与ibatis迭代的用法

    **iBatis的使用步骤** 1. **配置环境**:引入iBatis的jar包,并在项目中配置SqlMapConfig.xml文件,包括数据源、事务管理器等。 2. **编写SQL映射文件**:创建XML文件,定义SQL语句,包括查询、插入、更新和删除等...

    ibatis小结

    **Ibatis小结** Ibatis,一款轻量级的Java持久层框架,是MyBatis的前身,由Clinton Begin在2003年创建。它致力于解决Java应用程序中的数据访问层(DAL)问题,提供了SQL映射框架,使得开发者可以直接编写SQL语句,...

    IBATIS开发使用小结

    通过使用IBATIS,开发者可以避免编写大量的数据访问层代码,简化数据库操作。 2. **主要组件** - **SQL Maps**:这是IBATIS的核心,它定义了对象与SQL语句之间的映射关系。SQL Maps通过XML文件描述实体对象与SQL...

    iBATIS缓存的使用方法

    ### iBATIS缓存的使用方法 在数据库访问框架iBATIS中,缓存机制是一项重要的功能,它能够显著提高应用程序的性能。本文将详细介绍iBATIS中的缓存使用方法,包括缓存模型的配置、不同类型的缓存控制器以及如何在SQL...

    详细介绍Ibatis的用法

    ### 详细介绍Ibatis的用法 #### Ibatis概述与特点 Ibatis是一个开源的持久层框架,它通过简单的XML配置文件将JavaBean映射到SQL语句上,从而极大简化了对关系数据库的操作。与其他数据库持久层框架如JDO、...

    iBatis Web用法实例

    在这个"iBatis Web用法实例"中,我们将深入探讨如何在Web项目中集成并使用iBatis,以及相关的最佳实践。 1. **iBatis 概述**: iBatis 作为轻量级的ORM(对象关系映射)框架,它的核心思想是将SQL与Java代码分离,...

    ibatis总结 ibatis ibatis ibatis ibatis

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

    sqlserver Ibatis XML自动生成工具

    SQLServer Ibatis XML自动生成工具是一款实用的开发辅助软件,主要针对Java开发人员,特别是那些在项目中使用Ibatis作为持久层框架的开发者。这款工具能够显著提高开发效率,通过自动化的方式生成Ibatis所需的XML...

    ibatis 学习小结笔记

    ### ibatis 学习小结笔记 #### 一、ibatis 概述 ibatis 是一个基于 Java 的持久层框架,它提供了一种简便的方式来处理关系型数据库与 Java 对象之间的映射(O/R Mapping)。ibatis 在设计上强调的是 SQL 语句的...

    ibatis动态SQL标签用法

    iBatis动态SQL标签用法 iBatis是Java持久层框架,提供了动态SQL标签来实现动态查询。动态SQL标签可以根据不同的条件生成不同的SQL语句,从而提高查询效率和灵活性。 动态SQL片段 iBatis提供了动态SQL片段的功能,...

    ibatis demo,ibatis例子,ibatis示例

    通过这个demo,你可以了解到Ibatis的基本用法,如何编写SQL映射文件,如何设计Mapper接口,以及如何在Java代码中调用这些接口执行数据库操作。同时,也能掌握Ibatis的动态SQL特性,以及如何配合Spring进行更高效的...

    ibatis的一个小例子

    【标题】:“ibatis的一个小例子” 在Java Web开发领域,Ibatis(现已被更名为MyBatis)是一款广泛使用的持久层框架。它提供了一个灵活的SQL映射框架,使开发者可以将SQL语句与Java代码分离,从而实现数据访问层的...

    ibatis的使用教程

    Ibatis 提供了一些基本的API,如查询、添加、删除和修改方法。通常,会通过 SqlMapClient 的工厂类创建 SqlMapClient 实例,以管理数据库操作。例如,使用 SqlMapClientBuilder 创建 SqlMapClient 对象,然后执行...

    iBATIS实例小程序

    通过对给定的iBATIS实例小程序的分析,我们可以了解到iBATIS框架的基本用法,包括SQL映射文件的结构、参数绑定以及结果映射等方面的知识点。这对于理解和应用iBATIS进行数据库操作具有重要意义。通过掌握这些知识点...

    ibatis小例子Demo

    这个"ibatis小例子Demo"是为了帮助初学者快速理解和掌握Ibatis的核心功能和基本用法。 Ibatis的主要特点包括: 1. **XML配置文件**:Ibatis通过XML配置文件来定义SQL语句、参数映射和结果映射,使得SQL与Java代码...

    iBatis一个小项目

    iBatis是一个轻量级的Java持久层框架,它的核心理念是将SQL语句与Java代码分离,使得开发者可以更加灵活地控制SQL的执行。...实践是检验真理的唯一标准,希望这个小项目能帮助你在实际操作中更好地掌握iBatis这一利器。

    ibatis分页

    标题中的“ibatis分页”指的是在使用iBATIS(一个SQL映射框架)时,如何实现数据库查询结果的分页显示。iBATIS通过XML配置文件或注解方式将Java代码与SQL语句分离,提供了更灵活的数据库操作方式。在处理大量数据时...

    常用ibatis配置

    例如,使用like关键字配合SQL中的通配符“%”,可以在“name”字段上执行模糊匹配。在文档中,可以看到一个模糊查询的例子,如果name不为空,则SQL语句会增加一个name LIKE '%输入值%'的条件。 5. date时间段:在很...

    .net中使用iBATIS的小例子

    下面我们将详细探讨iBATIS在.NET中的使用方法,以及如何利用提供的文件进行实践。 首先,了解iBATIS的基本概念。iBATIS是一个轻量级框架,它的核心功能是动态SQL映射,允许开发者编写SQL语句并将其封装到XML配置...

    操作数据库 iBATIS查询

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

Global site tag (gtag.js) - Google Analytics