`
Max_1106
  • 浏览: 21790 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类

ibatis 使用小结

阅读更多

一、在ibatis的配置文件中,#,$等表示的意义是不同的。

举例来说明他们的应用:

DAO层代码赋值为:username=”abc” sortField=”ord1” ascending=”ASC”

<select id="getDestroyIdListLimit" parameterClass="java.util.Map" resultClass="String">

       SELECT  destroyId

       FROM maildestroy

       WHERE username = #username#

       ORDER BY $sortField$ $ascending$

    </select>

这样配置之后,最终在数据库执行的语句为:

SELECT  destroyed FROM maildestroy WHERE username = 'abc ' ORDER BY ord1 ASC

通过上述比较之后,就不难看出:#符号的作用就是将传入的字符串参数前后自动加上,传入的整形参数原封不动的放入到sql语句。

 $符号的作用就是将传入的参数原封不动的放入到sql语句中。

这里特别强调一下,在进行排序的时候,一定要是使用$符号,而不是#符号。如果使用#符号之后,生成的sql语句就是:

SELECT  destroyed FROM maildestroy WHERE username = 'abc ' ORDER BY 'ord1 ' 'ASC '

上述语句在执行的时候是不会报错的,但是此处的排序就会失效。因为这个问题造成的bug我刚刚就碰到过,相当隐蔽的bug,让我找得好苦。特此提醒大家注意。

 

二、Ibatislike  `%ibatis%`的写法实现模糊查询。假设需要传入参数name,那么在xml配置文件中对name进行模糊查询的写法有三种:

1name like '%$name$%'

2name like '%' || #name# || '%'

3name like CONCAT('%', #name#, '%')

第一种方法就是运用了$符号的特殊意义来实现的,第二种方法中||则是xml配置文件中的字符串连接符,第三种方法中则是调用了mysql中的字符串连接函数来实现。

 

三、Ibatis中动态sql语句的配置,当我们不能确定传入的参数是否一定不为null或者空字符串“”,或者需要和特定的值进行比较的时候,我们就需要用到它的动态sql语句配置了。

<select id="getAllSign" parameterClass="sign" resultClass="sign">

SELECT * FROM sign

<dynamic prepend ="WHERE" >

        <isNotEqual prepend="" property="isForce" compareValue="-1">

           isForce=#isForce#

        </isNotEqual>

</dynamic>

</select>

此处prepend表示:在动态语句之前,需要填写的字符串,此处是WHERE.

iBATIS动态查询几个常用属性

  ﹤ isPropertyAvailable ﹥  属性是存在

  ﹤ isNotPropertyAvailable ﹥  属性不存在

  ﹤ isNull ﹥  属性值是null

  ﹤ isEmpty ﹥  判断Collection.size 1 String.length()1

  ﹤isEqual ﹥  等于

  ﹤ isNotEqual ﹥  不等于

  ﹤ isGreaterThan ﹥  大于

  ﹤ isGreaterEqual ﹥  大于等于

  ﹤ isLessThan ﹥  小于

  ﹤ isLessEqual ﹥  小于等于

在此处需要特别提出的是:传入的参数可以为自定义的对象,如这里的sign,也可以是java.util.Map,这两种情况在项目中都运用到了。

分享到:
评论

相关推荐

    Ibatis使用总结

    标题 "Ibatis使用总结" 涉及到的是关于Ibatis这一流行的数据访问框架的实践经验与理解。Ibatis,作为一个轻量级的Java持久层框架,它弥补了JDBC在处理复杂SQL和对象关系映射方面的不足,允许开发者将SQL语句直接写在...

    ibatis总结 ibatis ibatis ibatis ibatis

    总结,Ibatis提供了灵活的SQL映射机制,使得开发人员能够更好地控制SQL的执行。同时,通过与Struts和Spring的整合,可以构建出强大的企业级应用。理解并熟练掌握这些知识点,对于提升Java Web开发的效率和质量至关...

    ibatis的使用教程

    总结起来,Ibatis 是一个轻量级的持久层框架,它允许开发者充分利用 SQL 语言的灵活性,同时简化了数据库操作。虽然它在某些方面不如 ORM 框架全面,但对于那些希望更直接控制 SQL 的开发者来说,Ibatis 是一个理想...

    ibatis优点总结

    ibatis优点总结 ibatis优点总结

    ibatis使用及环境搭建文档

    **Ibatis简介** Ibatis,又称为SQL Map,是一个优秀的持久层框架,它允许开发者将SQL语句直接写在配置文件中,与Java代码进行分离,使得...了解并熟练掌握Ibatis的使用,对于提升Java开发效率和代码质量具有重要意义。

    传智播客ibatis教程_ibatis优点总结

    本文将深入探讨其中一个流行的选择——iBATIS,以及其在传智播客教程中的优点总结。 iBATIS,全称为“互联网应用程序基础工具包”(Internet Basics for Architecture with Transactions and SQL),是由Apache ...

    iBATIS2.0学习总结

    在开始使用iBATIS时,需要配置几个关键的文件。首先是全局配置文件`SqlMapConfig.xml`,这个文件的作用是加载所有的SQL Map XML文件,并配置数据库连接、事务管理、缓存策略等。在`SqlMapConfig.xml`中,`...

    ibatis小结

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

    IBATIS开发使用小结

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

    iBatis.net总结 使用帮助

    在本文中,我们将深入探讨iBatis.net的使用,主要涉及以下几个核心部分: 1. **配置文件**: - **SqlMap.config**:这是iBatis的核心配置文件,类似于Web.config或App.config,用于配置iBatis的运行环境。它应该...

    ibatis简易使用 ibatis简易使用 ibatis简易使用

    总结起来,iBATIS通过配置文件与SQL映射文件分离了业务逻辑和数据访问层,使得开发者可以灵活地编写SQL并控制数据库操作,同时保持代码的整洁和可维护性。在实际项目中,iBATIS可以很好地配合Spring等框架,提供更高...

    09_ibatis教程_ibatis优点总结.zip

    09_ibatis教程_ibatis优点总结.zip 09_ibatis教程_ibatis优点总结.zip

    ibatis 知识点总结(PDF)

    ### ibatis知识点总结 #### 简介 ibatis是一个开放源代码项目,起初由Clinton Begin在2001年发起。该项目最初关注的是密码软件的开发,但随着时间的发展,逐渐演变成一个基于Java的持久层框架。ibatis在2010年由...

    .net中使用iBATIS的小例子

    这个小例子展示了如何在Visual Studio 2008中集成和使用iBATISNET。下面我们将详细探讨iBATIS在.NET中的使用方法,以及如何利用提供的文件进行实践。 首先,了解iBATIS的基本概念。iBATIS是一个轻量级框架,它的...

    ibatis学习总结,oracle , 敏捷开发,

    在IT行业中,Ibatis、Oracle...希望这篇总结能为你的学习之路提供有价值的指导,进一步深化你对Ibatis、Oracle和敏捷开发的理解。在IT世界中,持续学习和实践是提升自身能力的关键,祝你在技术探索的道路上越走越远。

    iBatis详细使用手册(.net版)[收集].pdf

    下面是对iBatis的详细使用手册的知识点总结: 1. iBatis概述 iBatis是一种灵活的持久层框架,提供了一种可控的方式来实现类ORM解决方案。它不同于NHibernate那样具备全自动的数据操作,而是提供了一种灵活的方式来...

    ibatis学习总结

    【ibatis学习总结】 在Java应用中,ORM(对象关系映射)框架是连接数据库与业务逻辑的关键。相比像Hibernate和Apache OJB这样的"一站式"ORM解决方案,iBATIS提供了一种更为灵活的"半自动化"策略。iBATIS允许开发者...

    ibatis的错误总结

    ibatis可以使用简单的XML或注解进行配置和原始映射,在代码内映射语句执行SQL。 ### 错误1:参数类型与属性不匹配 在ibatis中,`parameterClass`属性用于指定传递给SQL语句的参数类型。例如,在给定的部分内容中:...

Global site tag (gtag.js) - Google Analytics