`

Ibatis学习教程

阅读更多
ibatis教程之ibatis介绍:
ibatis是什么呢?相对于hibernate和apache ojb等“一站式”orm解决方案而言,ibatis是一种“半自动化”的orm实现。

这个框架将让你能够更好的在java应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是sql maps,另一个是data access objects。另外还包括一些可能很有用的工具。
sql maps:
sql maps是这个框架中最激动人心的部分,它是整个ibatis database layer的核心价值所在。通过使用sql maps你可以显著的节约数据库操作的代码量。sql maps使用一个简单的xml文件来实现从javabean到sql statements的映射。跟其他的框架或者对象映射工具相比,sql maps最大的优势是简单。它需要学习的东西很少,在连接表或复杂查询时也不需要复杂的scheme(怎么翻complex scheme?),使用sql maps, 你可以自由的使用sql语句。
data access objects (dao)
当我们开发灵活的java应用时,有一个好主意就是通过一个通用api层把实体操作的细节封装起来。data access objects允许你通过一个简单接口的来操作数据,从而隐藏了实现的细节。使用dao,你可以动态配置你的应用程序来访问不同的实体存储机制。如果你有 一个复杂的应用需要用到几个不同的数据库,dao可以让你建立一个一致的api,让系统的其他部分来调用。
utilities
ibatis database layer包含一系列的有用的工具,比如simpledatasource,jdbc datasource 2.0(也包括3.0)的一个轻量级实现。scriptrunner也提供了从单元测试到自动发布的数据库准备工作。
工作流程:
sql maps提供一个简单的框架,通过xml描述来映射javabeans,map implementations甚至原始类型的包装(string,integer等)到jdbc preparedstatement。想法很简单,基本的步骤如下:
1) 提供一个对象作为参数(either a javabean, map or primitive wrapper),the parameter object will be used setting input values in an update statement, or query values in a where clause (etc.).(感觉不译为好,你说呢?)
2) 执行这个映射的statement,这一步是魔术发生的地方。sql maps框架将建立一个preparedstatement实例(instance),使用前面提供的对象的参数,执行statement,然后从resultset中建立一个返回对象。
3) 如果是update,则返回有多少行修改了,如果是查询,则返回一个对象或者对象的集合。跟参数一样,返回对象也可以是一个javabean,map或者一个primitive type wrapper。
二、ibatis教程之配置文件的使用:
sql map的配置文件。这个文件是sql map实现的根配置,这不是本总结所要具体描述的。
配置文件是xml文件,我们用它来配置属性,jdbc datasources 和 sql maps。它给我们一个便利的地方可以集中配置不同的datasource。这个框架支持ibatis simpledatasource, jakarta dbcp (commons),以及其他任何可以通过jndi context来访问的datasource。我们在以后将详细讨论这个问题。现在我们用jakarta dbcp,结构很简单,上面这个例子,它的配置文件如下。
<properties>元素:
这sql map中的<properties>元素支持sql map xml配置文件。配置文件里的元素符合data map规则。
<properties>所应用的文件里的元素必须和<datasource>里的元素相对应。下面是sqlmapconfigexample.properties文件的内容。里面的元素和<datasource>里的元素相对应。
<settings>元素
maxrequests:在同一时间内能执行sql语句的次数
maxsession:在同一时间内能起作用的session数
maxtransaction:在同一时间内能执行的事务。
statementcachesize:缓冲区的大小
三、ibatis教程之操作方法介绍:
注意:本总结适合有使用开发ibatis基础的人员参考。由于本人的能力有限,不足之处请大家指出。
1. statement支持元素及支持的属性:
1.1 id
id属性是必须的,它表示这个语句的名称,它在整个<sqlmap>元素内唯一的。在代码通过id来引用相关语句。
1.2 parametermap
parametermap属性定义了一个有序的值列表,分别有序的对应了标准参数化的sql语句中的?占位符。

1.3 parameterclass
在没有指明parametermap属性的情况下,你可以指定parameterclass属性方法来替代parametermap属性。parameterclass属性的值可以使用类型的别名或者类型(类)全称
1.4 resultmap
resultmap可以让你控制你如何让数据从查询结果(resultmap)中提取出来存入java对象中。并且可以定义如何将字段映射到java bean的属性里。如下图:
1.5 resultclass
在resultmap属性没有指定的情况下,可以采用resultclass方式,resultclass的属性值可采用类型别名或者类型(class)全称的方式。指定的类将根据数据库的元数据自动的映射到查询结果的字段值中。
2. parametermap元素属性
2.1 id
id属性是必须的,它提供了<parametermap>对元素data map里的唯一表示符
2.2 class
class属性是可选的,class属性必须是javabean或map实列,class属
性虽是可选的,但推荐大家指定,class属性 可以用来验证传入的参数的合法性及优化查询
3. 查询语句
3.1 屏蔽特殊符 <![cdata[ ]]>
3.2 语句导入 <include>,可以是语句优化
使用<include>方法,上面的语句可以写成:
4.自增长方法:<selectkey resultclass=”int”>,不管<selectkey resultclass=”int”>处于该语句的什么部位,都先执行此自增长方法。注意:mysql和oracle的方法不一样。
5. <insert>方法:
insert方法使用parametermap属性,字段名要和<parametermap>方法里的元素一一对应
6. <resultclass>属性:
使用resultclass方法,类person里必须id,firstname,lastname,birthdate,werghtkilograms,heightmeters这些属性。
7. 使用xmlresultname:xml映射文件
8. 使用<parametermap>方法:用来设置元素的属性,其中nullvalue表示缺省值
9. 如果传入的参数只有一个,用#value#来替代传入的参数名。如果还传来的是字段名,则ibatis不支持
10. 判断传入的参数是否存在:isnotnull,判断传入的参数值是否大于设定的值:isgreaterthan
11. 判断传入的参数是否为空:isempty和isnotemply
12. 如果进行模糊查询,使用like方法
那么ibatis教程的入门部分就向你介绍到这里,希望上述的介绍使你对ibatis有了一定的认识。
本贴来自天极网群乐社区--http://q.yesky.com/group/review-18217312.html

分享到:
评论

相关推荐

    iBATIS 学习 教程

    综上所述,"iBATIS 学习 教程"涵盖了iBATIS的基本概念、工作原理、主要功能以及使用方法,对于初学者来说是一份宝贵的参考资料。通过深入学习并实践,开发者可以熟练掌握iBATIS,提升数据库操作的效率和代码的可维护...

    Ibatis学习教程.PPT哦。

    讲得还不错吧。可以值得看一下.兄弟们努力啊。。会有帮忙的.

    iBatis简明教程及快速入门

    ### iBatis简明教程及快速入门...通过本教程的学习,您应该已经掌握了iBatis的基本使用方法,并能够开始在实际项目中应用iBatis进行数据持久化操作。iBatis以其独特的简洁性和灵活性,在很多场景下都能发挥出色的表现。

    iBATIS教程

    iBATIS教程,快速有效学习Ibatis的必备教程。

    Ibatis.net学习例子以及使用教程书

    本教程书旨在帮助开发者深入理解并熟练运用Ibatis.net,通过实例和详细讲解,使得学习过程更加简单易懂。 Ibatis.net的核心理念是SQL映射,它允许开发者编写自定义的SQL语句,避免了ORM(对象关系映射)工具通常...

    ibatis ibatis入门教程

    【标题】:Ibatis Ibatis入门教程 【描述】:Ibatis是一款优秀的持久层框架,它简化了Java应用与数据库之间的交互,通过提供一个映射SQL的XML或注解方式,使得开发人员能够将精力集中在业务逻辑上,而不是繁琐的...

    ibatis入门教程_ibatis入门教程_源码

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得...通过学习这个Ibatis入门教程,你可以了解并掌握如何在Java应用中使用Ibatis进行数据操作,为后续的进阶学习和项目开发打下坚实的基础。

    iBatis入门教程

    ### iBatis入门教程知识点详解 #### 一、iBatis简介 ...通过本教程的学习,您已经掌握了iBatis的基本使用方法。接下来,建议进一步探索iBatis的高级特性,如事务管理、缓存机制等,以充分利用iBatis的强大功能。

    iBATIS教程 iBATIS教程

    本教程旨在深入讲解iBATIS的基本概念、核心组件及其在实际开发中的应用。 一、iBATIS概述 iBATIS最初由James G. Cook创建,后成为Apache Software Foundation的顶级项目。它的核心理念是将数据访问层(DAL)与业务...

    java+ibatis实例教程

    本教程针对新手,旨在提供一个全面而实用的 Java+MyBatis 学习路径,让初学者能够快速上手并掌握这两个工具的核心概念和使用技巧。 1. **Java 基础**:首先,你需要对 Java 有基本的了解,包括类、对象、继承、多态...

    Spring MVC+Hibernate&Ibatis学习 例子 教程

    在"spring_MVC_study"这个压缩包中,很可能是包含了一系列的示例代码和教程文档,用于指导学习者如何在实际项目中结合使用Spring MVC、Hibernate和iBatis。这些示例可能涵盖了从基本的CRUD操作到复杂的业务流程,...

    ibatis视频教程.rar

    【描述】:Ibatis视频教程是一套全面解析Ibatis框架的教育资源,旨在帮助学习者深入理解并掌握这个轻量级的Java持久层框架。Ibatis作为一款优秀的数据访问层解决方案,它允许开发者将SQL语句与Java代码分离,从而...

    入门完整ibatis教程集锦

    本教程集锦旨在帮助初学者从零开始学习 Ibatis,让你从不会到精通,从喜欢到爱上这个框架。以下是主要的知识点和步骤: 1. **环境准备**: - 安装 Java 开发环境(JDK),确保系统环境变量配置正确。 - 熟悉 ...

    ibatis学习完整实例,例子

    《全面解析Ibatis实战教程——基于ibatistest2项目》 Ibatis,作为一个轻量级的持久层框架,以其灵活、易用的特点在Java开发领域广泛应用。本教程旨在通过一个完整的实例——"ibatistest2"项目,帮助开发者深入理解...

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

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

    ibatis的使用教程

    1. 基于 SQL 语法,学习曲线平缓,对于熟悉 SQL 的开发者来说易于上手。 2. SQL 语句独立于代码,存储在配置文件中,方便管理和维护,降低了程序的耦合度。 3. 程序调试便利,可以直接查看 SQL 执行情况,有助于问题...

    iBatis快速入门教程中文版

    **iBatis快速入门教程中文版** ...通过本教程的学习,读者将对iBatis的基本使用有深入理解,能够独立进行数据库操作,实现数据持久化。在实际开发中,结合Spring框架使用iBatis,可以构建出高效、稳定的数据访问层。

    Ibatis入门例子,Ibatis教程

    在本教程中,我们将通过一个简单的Ibatis入门例子,带你逐步了解并掌握这个强大的框架。 首先,我们需要在项目中引入Ibatis的依赖。通常,我们会在Maven的pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org....

    ibatis教程学习笔记

    ### ibatis教程学习笔记 #### 一、ibatis简介与特点 ibatis 是一个基于 Java 的持久层框架,它提供了一种将 SQL 映射到 Java 对象的方式,简化了 JDBC 的复杂操作。ibatis 通过 XML 配置文件或者注解的形式来描述 ...

Global site tag (gtag.js) - Google Analytics