接口测试从零开始5_教你如何使用ibatis

发表于:2011-12-13 11:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小刀    来源:51Testing软件测试博客

分享:

  4)配置SqlMapConfig配置文件

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEsqlMapConfig

   PUBLIC"-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"

   "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>

<propertiesresource="dbcpconfig.properties"/>

<settingscacheModelsEnabled="false"enhancementEnabled="true"lazyLoadingEnabled="false"errorTracingEnabled="true"maxRequests="400"maxSessions="40"

   maxTransactions="32"useStatementNamespaces="true"/>  

        <!--   

        1. cacheModelsEnabled是否启动sqlMapClient上的缓存机制;  

        2. enhancementEnabled是否针对POJO启用字节码增强机制以提升getter/setter的调用效能,  

               避免使用Java Reflect所带来的性能开销,同时也为Lazy Loading带来了极大的性能提升;  

        3. errorTracingEnabled是否启用错误日志;在开发期间建议设为“true”以方便调试  

        4. lazyLoadingEnabled是否启动延迟加载机制  

        5. maxRequests最大并发请求数(Statement并发数)  

        5. maxTransactions最大并发事务  

        6. maxSessions最大Session数,即当前最大允许的并发sqlMapClient数(介于maxRequestsmaxTransactions之间)  

        7. useStatementNamespaces是否使用Statement命名空间(为true时,需要追加命名空间)  

     -->

<transactionManagertype="JDBC"> 

      <dataSourcetype="SIMPLE">

      <!--dataSource从属于transactionManager节点,用于设定ibatis运行期使用的DataSource属性  

            type属性:dataSource节点的type属性指定了dataSource的实现类型,指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI)

            1. SIMPLE   SIMPLEibatis内置的dataSource实现,其中实现了一个简单的数据库连接池机制,对应ibatis实现类为  

                com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory  

            2. DBCP:基于ApacheDBCP连接池组件实现的DataSource封装,当无容器提供DataSource服务时,  

                建议使用该选项,对应ibatis实现类为com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory  

            3. JNDI使用J2EE容器提供的DataSource实现,DataSource将通过指定的JNDI Name从容器中获取。  

               对应ibatis实现类为com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory  

       --> 

  <propertyname="JDBC.Driver"value="${driverClassName}"/>

   <propertyname="JDBC.ConnectionURL"value="${url}"/>

   <propertyname="JDBC.Username"value="${username}"/>

   <propertyname="JDBC.Password"value="${password}"/>

   <propertyname="Pool.MaximumActiveConnections"value="10"/><!--连接池维持的最大容量--> 

   <propertyname="Pool.MaximumIdleConnections"value="5"/><!--连接池允许挂起的最大连接--> 

   <propertyname="Pool.MaximumCheckoutTime"value="120000"/><!--连接被某个任务所允许占用的最大时间--> 

   <propertyname="TimeToWait"value="500"/><!--线程允许等待的最大时间--> 

       </dataSource> 

   </transactionManager> 

    <!--指定映射文件的位置,配置中可出现多个sqlMap节点,以指定项目内所有映射文件--> 

   <sqlMapresource="conf/sqlmap/pingjia.ibatis.xml"/>

</sqlMapConfig>

  5)读取配置文件

static{

      try{

           Reader reader = Resources.getResourceAsReader("conf/testlearnning.sqlmapconfig.xml");

          sqlMap= SqlMapClientBuilder.buildSqlMapClient(reader);

       }catch(Exception e) {

           e.printStackTrace();

}

  6)增删改查相关操作

@Override

publicbooleaninsert(PingJia pingJia) {

   booleanflag =false;

   try{

       sqlMap.insert("PingJiaDao.insert", pingJia);

        flag =true;

    }catch(SQLException e) {

        e.printStackTrace();

    }

   returnflag;

}

版权声明:本文出自 小刀 的51Testing软件测试博客:http://www.51testing.com/?128005

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

相关链接:

接口测试从零开始系列1

接口测试从零开始系列2

接口测试从零开始系列3_mock技术使用

接口测试从零开始系列4_junit断言介绍

22/2<12
重磅发布,2022软件测试行业现状调查报告~

精彩评论

  • 系统消息
    2011-12-13 22:31:58

    文章不错,貌似排版有点乱

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号