caiguoxing的专栏

经验笔记

Ibatis资料
Ibatis已经提提升为apache的开源一级项目,是作为j2ee持久层框架实现的一个开源的项目。有两个版本,一个是forjava,一个是fornet。
本身还有一个jpetstore的实例,使用了struts+ibatis来实现
http://www.ibatis.org
2          Ibatis-dao
Dao-database access object 数据库访问对象,是业务层和持久层的中间层,提供了访问数据库的接口,而不用考虑具体的持久层是用什么来实现的。。
Dao.xml
<daoConfig>
       <context>
              <transactionManager type="SQLMAP">
                     <property name="SqlMapConfigResource" value="com/aspire/ibatis/persistence/sqlmapdao/sql/sqlMapConfig.xml" />
              </transactionManager>
              <dao inter implementation="com.aspire.ibatis.persistence.sqlmapdao.UserSqlMapDao" />
       </context>
</daoConfig>
目录结构
       Com.aspire.ibatis //存放dao.xml以及daoConfig.java文件
      
       Com.asprie.ibatis.iface //存放dao的接口文件
       Com.aspire.ibatis.sqlmapdao//实现了dao接口文件类
       baseSqlMapDao extends SqlMapDaoTemplate
3          Ibatis-sqlmap
SqlmapApi能使开发人员很轻易的将javabean,parameter,等映射成为perparedstatement的参数,并轻松返回result结果集合
Sqlmap的流程图
3.1       sqlmapconfig。Xml配置文件
<sqlmapconfig>
         <proerties>//用来在配置文件中查找标准的java属性文件name=value
</sqlmapconfig>.
<settings  //用来配置和优化sqlmapclient的实例的选项
cacheModelsEnabled="true" //全局性的启动或者关闭sqlmapclient的所有cache
enhancementEnabled="true" //全局性的启动或者关闭运行时字节码增强的功能,建议true
lazyLoadingEnabled="true" // 全局性的启用或者关闭sqlmapclient的延迟加载
maxRequests="32" //同时执行sql语句的最大现成数,大于这个值的线程将阻塞直到另一个线程执行完成,通常这个数值应该是maxtransction10倍,并且大于maxtranstionmaxsession,减少这个数可以提高性能
maxSessions="10" // 同一活动时间内的最大session的数,maxtranstion<maxsession<maxrequest,较少可以降低内存的使用
maxTransactions="5" //同时进入sqlmapclientstartTranscation的最大数量,减少这个数可以提高性能
useStatementNamespaces="false"//启用本属性必须使用全局限定名来引用mappedstatement
 />
<typealias> //别名
在sqlmap中预定义了别名
JDBC com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransactionConfig
JTA com.ibatis.sqlmap.engine.transaction.jta.JtaTransactionConfig
EXTERNAL com.ibatis.sqlmap.engine.transaction.external.ExternalTransactionConfig
SIMPLE com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory
DBCP com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory
JNDI com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory
 
<transactionManager> //用来配置事务管理,三种事务管理的类型JDBC,JTA,EXTERNAL
<datasource>//提供三种datasourceFactory
1.      SIMPLE
基于ibatis的simpledatasource连接池实现
JDBC.Driver
JDBC.connectionURL
JDBC.UserName
JDBC.Password
Pool.MaximunActionConnections
Pool.MaximunIdleConnections
Pool.MaxnumCheckOutTime
Pool.TimeToWait
Pool.PingQuery
Pool.PingEnabled
Pool.PingConnectionsOlderThan
Pool.PingConnectionsNotUserdFor
 
2.      DBCP
JDBC.Driver
JDBC.ConnectionURL
JDBC.Username
JDBC.Password
Pool.MaximumActionConections
Pool.MaximumIdleConnections
Pool.MaximumWait
 
3.      JNDI
 
</datasource>
</transactionmanager>
<sqlmap resource=””> //指定sqlmap所在的路径
3.2       Sqlmap
Parameterclass
Parametermap
Inline parameter
如果在内镶的parameter中指定null的替代值,必须指定类型#parameter:type:替代值#
Resultclass
Resultmap
       Property对应的javabean的get方法
       Column对应的数据库的字段名
       columnIndex用户resultset赋值费javabean字段的顺序号
jdbctype resultset中用于赋值javabean的数据库字段类型
javatype
nullvalue
select用于描述对象之间的关系
cacheModel /定义了mappedstatement的缓存方案
       readonly标识缓存是否可修改
       serialize标识可读写缓存
       缓存的类型:MEMORY,LRUFIFO,OSCACHE
<select resultClass=”xml” xmlResultName=”root”>//将返回一个xml文档,root是根节点
3.3       动态mapstatement
<dynamic>
Prepend的父的属性可以覆盖子的prepend的属性,使用$parameter$
二元条件
       <isEqual>
       <isNotEqual>
       <isGreaterThan>
       <isGreaterEquals>
       <isLessThan>
       <isLessEqual>
一元条件
       <isPropertyAvaliable>
<isNotPropertyAvaliable>
<isNull>
<isNotNull>
<isEmpty>
<isNotEmpty>
 Other
           <isParameterPresent>
           <isNotParameterPresent>
<iterate>
3.4       sqlmapApi
queryforList的三个版本
1.直接返回查询结果
2.可以允许跳过结果的数目,以及返回结果的最大数目
3.可以让你使用结果对象,而不是数据表的行和列来逐行的处理结果集,
4          Others
Log4j来配置ibatis
Log4j.rootLogger=ERROR,stdout
 
Log4j.logger.com.ibatis=DEBUG
Log4j.logger.com.ibatis.common.jdbc.SimDataSource=DEBUG
Log4j.logger.com.ibatis.Common.jdbc.ScriptRunner=DEBUG
Log4j.logger.com.ibatis.sqlmap.engine.impl.sqlmapClientDelegate=DEBUG
Log4j.logger.java.sql.Connection=DEBUG
Log4j.logger.java.sql.Statement=DEBUG
Log4j.logger.java.sql.PreparedStatement=DEBUG
Log4j.logger.java.sqlResultSet=DEBUG
 
Log4j.appender.stdout=org.apache.log4j.ConsoleAppender
Log4j.appender.stdout.layout=org.apache.log4j.PatternLayOut
Log4j.appender.stdout.layout.ConversionPattern=%5p[%t]-%m%n
其他开源项目
Log4j
JMock – 用于单元测试
Junit
struts
阅读更多
个人分类: ibatis
想对作者说点什么? 我来说一句

ibatis资料ibatis资料

2011年05月06日 2.17MB 下载

ibatis资料

2011年10月28日 270KB 下载

ibatis学习资料

2010年03月02日 430KB 下载

ibatis 资料ibatis 资料

2010年07月25日 3.5MB 下载

Ibatis 学习资料

2011年10月28日 1.98MB 下载

ibatis资料大全

2010年09月09日 5.92MB 下载

ibatis资料(官方文档)

2009年05月25日 497KB 下载

ibatis中文资料

2009年04月16日 497KB 下载

ibatis 学习资料 spring

2009年08月08日 1.36MB 下载

自己总结的IBATIS资料

2011年03月02日 799KB 下载

没有更多推荐了,返回首页

不良信息举报

Ibatis资料

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭