3.安装和配置ibati

  • ibatis-common-2.jar—Shared iBATIS classes
  • ibatis-sqlmap-2.jar—The iBATIS SQL mapping classes

1. 获得一份ibatis

1.1 二进制发布

1.2 从源代码构建

http://svn.apache.org/repos/asf/ibatis/

2. 发布中包含的内容

ibatis-common-2.jar

ibatis-sqlmap-2.jar

ibatis-dao-2.jar

user-javadoc.zip

dev-javadoc.zip

ibatis-src.zip


3. 依耐性

3.1 针对延迟加载的字节码增强

3.2  jakarta Commons数据库连接池

3.3 分布式高速缓存


4. 将ibatis添加到应用程序中

4.1 在独立应用程序中使用ibatis

add the iBATIS JARs to the classpath in Linux using the -cp switch

java –cp ibatis-sqlmap-2.jar:ibatis-common-2.jar:. MyMainClass

4.2 在Web应用程序中使用ibatis


5 ibatis和JDBC

使用JDBC需要注意的几个问题:

5.1 释放JDBC资源

5.2 SQL注入

5.3 降低复杂度


6 配置ibatis(续)









6.1 SQL Map 配置文件

SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
	<properties resource="db.properties" />
	<settings useStatementNamespaces="false" cacheModelsEnabled="true"
		enhancementEnabled="true" lazyLoadingEnabled="true" maxRequests="32"
		maxSessions="10" maxTransactions="5" />
	<transactionManager type="JDBC">
		<dataSource type="SIMPLE">
			<property name="JDBC.Driver" value="${driver}" />
			<property name="JDBC.ConnectionURL" value="${url}" />
			<property name="JDBC.Username" value="${user}" />
			<property name="JDBC.Password" value="${pword}" />
		</dataSource>
	</transactionManager>
	<sqlMap resource="org/apache/mapper2/ii15/SqlMap.xml" />
</sqlMapConfig>


6.2 <properties>

该元素允许在主配置文件之外提供一个名/值对列表。

可以使用两种方式来指定所用的属性文件,每种方式都对应<properties>元素的一个属性:
  • resource——类路径上的一个资源(或文件),使用类加载器来读取它
  • url——URL,用java.net.URL类来处理,
db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/test
user=root
pword=apple

使用下面代码引用此属性文件:
<properties resource="db.properties" />

引用这些属性:
<property name="JDBC.Driver" value="${driver}" />
			<property name="JDBC.ConnectionURL" value="${url}" />
			<property name="JDBC.Username" value="${user}" />
			<property name="JDBC.Password" value="${pword}" />

6.3 <settings>


  • lazyLoadingEnabled——指定当存在相关联的已映射语句时,是否使用延迟加载。默认true
  • cacheModelsEnabled——默认true
  • enhancementEnabled——指定是否使用cglib中那些以优化的类来提高延迟加载的性能,默认true
  • useStatementNamespaces——指定在引用映射语句时,是否需要使用限定名。默认false
  • maxRequests (deprecated)——
  • maxSessions (deprecated)——
  • maxTransactions (deprecated)——

6.4 <typeAlias>

<typeAlias alias="Account"
type="org.apache.ibatis.jgamestore.domain.Account" />

ibatis框架为若干类型定义了别名:






6.5 <transactionManager>

type属性



事务管理器,可用的另一设置为commitRequired:默认false。要求在释放某个连接之前必须提交或者回退

  1. <property> elements
  2. <dataSource> element

6.6 <typeHandler>

将数据从数据库特定的数据类型转换为应用程序中的数据类型。


如数据库中用Y/N,应用程序需转换为布尔值


自定义类型处理器,需创建两个类:一个自定义类型处理器和一个类型处理器回调类


6.7 <sqlMap>

可使用

  • resource——类路径上的一个资源(或文件),使用类加载器来读取它
  • url——URL,用java.net.URL类来处理,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值