ibaties(一)

新项目中要用mootools ibaties,这几个开源框架 自己也没用过,但知道ibaties和hibernate差不过,框架而已,难度不会多大

大概的ibaties就是比hibernate降低一半的智能化,很多sql都是自己去灵活的写进去,还看到几个新特点,不知道hibernate里面有没,反正自己是没用过

SQL Map如何工作?
SQL Map提供了一个简洁的框架,使用简单的XML描述文件将Java Bean,Map实现和基本数据类型的包装类(String,Integer等)映射成JDBC的PreparedStatement。以下流程描述了SQL Maps的高层生命周期:
将一个对象作为参数(对象可以是Java Bean,Map实现和基本类型的包装类),参数对象将为SQL修改语句和查询语句设定参数值。
1) 执行mapped statement。这是SQL Maps最重要的步骤。SQL Map框架将创建一个PreparedStatement实例,用参数对象为PreparedStatement实例设定参数,执行PreparedStatement并从ResultSet中创建结果对象。
2) 执行SQL的更新数据语句时,返回受影响的数据行数。执行查询语句时,将返回一个结果对象或对象的集合。和参数对象一样,结果对象可以是Java Bean,Map实现和基本数据类型的包装类。

 

安装SQL Maps
安装SQL Maps很简单,只要把相关的JAR文件复制到类路径下即可。类路径或者是JVM启动是指定的类路径(java命令参数),或者是Web应用中的/WEB-INF/lib目录

JAR文件和依赖性
如果一个框架依赖于太多的JAR文件,就很难与其他的应用和框架集成。IBATIS 2.0的一个主要的关注点是管理并降低JAR文件的依赖性。因此,如果您用的是JDK1.4,IBATIS仅仅依赖于Jakarta Commons Logging框架。可选的JAR文件放在发布版的/lib/optional目录下。它们根据功能来分类。下面列表总结了何时需要使用可选JAR类库。
描述
何时使用
目录
1.4以前JDK版本支持
如果您使用的JDK版本低于1.4,并且您的应用服务器不提供这些JAR文件,您将需要这些可选的JAR文件
/lib/optional/jdbc
/lib/optional/jta
/lib/optional/xml
IBATIS的向后兼容
如果您使用旧的IBATIS(1.x)DAO框架,或旧的SQL Maps(1.x)
/lib/optional/compatibility
运行时字节码增强
如果您需要使用CGLIB2.0字节码增强来提高lazy loading和reflection的性能
/lib/optional/enhancement
DataSource实现
如果您使用Jakarta DBCP连接池
/lib/optional/dbcp
分布式缓存
如果您使用OSCache来支持集中或分布式缓存
/lib/optional/caching
Log4J日志
如果您需要使用Log4J
/lib/optional/logging
从1.x版本升级
是否应该升级
判断您是否需要升级的最好办法是尝试它。下面是几种升级的方法。
1. 版本2.0几乎完全保持和1.x版本的向后兼容,因此某些情况下只需用新的JAR文件替代旧的即可。这个升级方法带来的好处最少,但最简单。您无需修改XML文件或Java代码,但会存在某些不兼容的问题。
2. 第二种方法是把1.x的XML文件转换成2.0规范,但仍使用1.x的Java API。除了XML映射文件存在着细微的不兼容之处外,这是个安全的方法。SQL Map框架包括了用来转换XML映射文件的ANT Task(参见下节)。
3. 第三种方法是转换XML文件(和第二种方法相同)和Java代码。因为没有转换Java代码的工具,必须手工进行。
4. 第四种方法是不必升级。如果您升级有困难,可以让应用继续使用1.x版本。让旧应用继续使用1.x版,在新应用中使用2.0版是个不错的主意。
转换XML配置文件(从1.x到2.0)
框架的2.0版本包含了一个可以在ANT构建环境中使用的XML文件转换器。虽然转换XML配置文件是可选的,但将1.x的配置文件转换成2.0仍然是个好主意。你几乎不会遇到不兼容的文件,并且还可以使用2.0版本新的特性(即使您继续使用1.x的Java API)。
XML配置文件转换器在build.xml文件中的例子如下:
<taskdef name="convertSqlMaps"
classname="com.ibatis.db.sqlmap.upgrade.ConvertTask"
classpathref="classpath"/>
<target name="convert">
<convertSqlMaps todir="D:/targetDirectory/" overwrite="true">
<fileset dir="D/sourceDirectory/">
<include name="**/maps/*.xml"/>
</fileset>
</convertSqlMaps>
</target>
就像您看到的一样,它和Ant的copy task很相似。事实上它就是Ant的copy task类的子类,因此您可以用这个task完成任何copy task的功能

使用新的JAR文件
要升级到2.0,最好删除iBatis原有旧的JAR文件及其依赖JAR类库,并用新的JAR文件替代。但要主要不要删除其他组件或框架还需要的文件。请参考上节关于JAR类库及其依赖性的讨论。
下表总结了旧文件及其相应的新文件。
旧文件
新文件
ibatis-db.jar
1.2.9b以后的版本,这个文件被分拆成一下3个文件
ibatis-common.jar
ibatis-dao.jar
ibatis-sqlmap.jar
ibatis-common.jar(必需)
ibatis-sqlmap.jar(必需)
ibatis-dao.jar(可选)
commons-logging.jar
commons-logging-api.jar
commons-collection.jar
commons-dbcp.jar
commons-pool.jar
oscache.jar
jta.jar
jdbc2_0-stdext.jar
xercesImpl.jar
xmlParserAPIs.jar
commons-logging-1-0-3.jar(必需)
commons-collection-2-1.jar(可选)
commons-dbcp-1-1.jar(可选)
commons-pool-1-1.jar(可选)
oscache-2-0-1.jar(可选)
jta-1-0-1a.jar(可选)
jdbc2_0-stdext.jar(可选)
xercesImpl-2-4-0.jar(可选)
xmlParserAPIs-2-4-0.jar(可选)
xalan-2-5-2.jar(可选) jdom.jar
log4j-1.2.8.jar(可选)
cglib-full-2-0-rc2.jar(可选)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值