ibatis讲义_图文
- 格式:ppt
- 大小:3.07 MB
- 文档页数:63


ibatis 的使用
iBatis是又一个O/R Mapping解决方案,j2ee的O/R方案真是多,和Hibernate相比,iBatis最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能,iBatis是能满足你的要求又足够灵活的最简单的解决方案。
iBatis最大的特点是简单,最新版本2.0(下载),和1.0相比,主要改动在XML配置文件上,不过,只要有SQL基础,相信你不用教程也能看明白。下面我们看一个最简单的例子入门。
我们先建一个表Account,包括字段username, varchar(20), pk和password, varchar(20),随便填入一些数据。然后编写iBatis必须的配置文件sql-map-config.xml,文件名随意,内容如下:
PUBLIC "-////DTD SQL Map Config 2.0//EN"
"/dtd/sql-map-config-2.dtd">
cacheModelsEnabled="true" enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/>
value="sun.jdbc.odbc.JdbcOdbcDriver"/>
其他部分你不用管它,我是直接copy的示例配置,只需注意红色部分,配置好数据源即可。我用的是Access,所以用JdbcOdbc驱动。如果你用MySQL或其他数据库,更改相应的属性。
然后注意到这个配置文件还引用了一个Account.xml,没错,iBatis把每个需要O/R Mapping的Java对象关联到一个xml配置文件,我们需要把一个Account表映射到一个Account类:
ThinkMore ibatis 2010-6-9
ThinkMore ibatis 2010-6-9
ibatis学习文档
一. ibatis介绍
1. ibatis简介:
ibatis一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。
将“Internet”中象征性的“i”和abatis中的“batis”组合所以暗示了抵御Internet的意思。
相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,ibatis 是一种“半
自动化”的ORM实现。
ibatis需要手写sql语句,也可以生成一部分,Hibernate则基本上可以自动生成,偶尔会写一些Hql。同样的需求, ibatis的工作量比Hibernate要大很多。类似的,如果涉及到数据库字段的修改,Hibernate修改的地方很少,而ibatis要把那些sql mapping的地方一一修改。
可维护性方面,ibatis更好一些。因为 iBatis 的 sql 都保存到单独的文件中。而 Hibernate 在有些情况下可能会在 java 代码中保sql/hql。
如果你开发一个新系统,希望完全控制对象模型,进行数据库设计,那么Hibernate是一个好的选择;如果你工作在一个很古老的数据库系统上,数据库设计非常糟糕,你又没有权利去改变数据库设计,那么iBATIS更合适一些。
因为ibatis是以SQL的方式开发,所以ibatis自身是不能动态生成表的,当然可以把SQL预先写入xml中,但是这种方式在开发中使用率并不高,并且以后不断的建表会比较繁琐,所以通常情况下,我们需要首先创建表,然后再使用ibatis来操作数据,在这方面,就没有hibernate建表那么容易。
ibatis iterate用法
摘要:
1.iBatis 简介
2.iBatis Iterate 用法概述
3.iBatis Iterate 的具体用法
4.示例代码
5.总结
正文:
1.iBatis 简介
iBatis 是一个流行的 Java 持久层框架,它支持定制化 SQL、存储过程以及高级映射。iBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。iBatis 可以使用简单的 XML 或注解进行配置和原生映射,将接口和
Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。
2.iBatis Iterate 用法概述
在 iBatis 中,Iterate 是一个非常有用的标签,用于处理结果集的迭代。使用 Iterate 标签,可以方便地对结果集进行遍历和处理。iBatis 的 Iterate
用法主要分为两种:一种是在 SQL 语句中使用,另一种是在 Java 代码中使用。
3.iBatis Iterate 的具体用法
(1) 在 SQL 语句中使用 在 SQL 语句中使用 Iterate,可以通过 "foreach" 关键字实现。以下是一个示例:
```sql
SELECT * FROM user
WHERE deleted = #{deleted}
ORDER BY #{orderBy}
SELECT * FROM user WHERE name = #{name}
```
(2) 在 Java 代码中使用
在 Java 代码中使用 Iterate,可以通过以下步骤实现:
1) 创建一个 ResultMap 对象,用于映射结果集到 Java 对象。
2) 创建一个 SqlMapClient 对象,用于执行 SQL 语句。
iBATIS教程
一.iBATIS官方网站:
目前官方发布的.net部分组件:DataMapper1.6.1[MD5][PGP](ApacheGeneralAvailability)DataAccess1.9.1[MD5][PGP](ApacheGeneralAvailability)SourceRevision513437[MD5][PGP]
二.前言:
iBATIS框架有助于帮助开发人员在利用Java或.NET进行应用程序开发时更好的使用数据库。iBATISDataMapper(数据映
射)使用XML文件来存储数据库中的存储过程或者SQL语句,因此,可以说iBATISDataMapper就是依赖于对象、XML、SQL。
在iBATISDataMapper框架下,既可以使用SQL基本语句,也可以使用存储过程。iBATIS框架的目标就是用20%的编码达到80%的数据访问功能。
三.iBATISDataMapperVersion1.6.0的改进
(1)解决了带有groupby的Select语句中N+1问题;
(2)通过节点标识,增加了对SQL片段的支持
(3)增加了对字典查询IDictionaryQueryForDictionary(...)的支持
(4)允许存储过程无参数映射;
(5)删除了几个不再使用的方法:
Configure(XmlDocumentdocument),Configure(),
Configure(stringresource),
ConfigureAndWatch(ConfigureHandlerconfigureDelegate),
ConfigureAndWatch(stringresource,ConfigureHandlerconfigureDelegate)
(6)允许通过扩展ISqlMapper+,允许使用自定义ISqlMapper;
(7)允许用户自定义缓存;