iBatisNet学习笔记一:配置

从网上下载了一个IBatisNet的Demo,并结合相关文章进行理解学习。

Demo的相关配置文件包括:sqlmap.config, database.config, providers.config, web.config, 以及Person.xml文件。

下面进行学习:

参考文章:

http://www.cnblogs.com/pw/archive/2006/08/08/470060.html


首先了解sqlmap.config

IBatisNet DataMapper是通过XML文件来配置的,配置文件名称我们通常默认为SqlMap.Config,配置文件中指定了我们项目的数据库连接字符串,以及数据库表的映射文件等等.

sqlmap.config文件:

 

ExpandedBlockStart.gif sqlmap.config
<? xml version="1.0" encoding="utf-8" ?>   
< sqlMapConfig  xmlns ="http://ibatis.apache.org/dataMapper"  xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"   >   
  
  
<!--  Rem : If used via a DataAccess context, properties tag will be ignored    
  <properties resource="http://www.cnblogs.com/database.config"/> 
-->   
  
< properties  embedded ="database.config, IBatisNetDemo" />   
  
< settings >   
    
< setting  useStatementNamespaces ="${useStatementNamespaces}" />   
    
< setting  cacheModelsEnabled ="true" />   
    
< setting  validateSqlMap ="false" />   
  
</ settings >   
    
  
<!--  Optional if resource  -->   
  
< providers  embedded ="providers.config,IBatisNetDemo" />   
  
<!--  ==== SqlClient configuration =========     -->   
  
<!--  Rem : If used via a DataAccess context, database tag will be ignored  -->   
  
< database >   
    
<!--  Optional ( default )  -->   
    
< provider  name ="sqlServer2.0" />   
    
< dataSource  name ="iBatisNet"  connectionString ="data source=${datasource};database=${database};user id=${userid};password=${password};connection reset=false;connection lifetime=5; min pool size=1; max pool size=50" />   
  
</ database >   
  
  
< sqlMaps >   
    
<!--  user via embedded -->   
    
< sqlMap  embedded ="Map.SqlClient.Person.xml,IBatisNetDemo" />   
  
</ sqlMaps >   
</ sqlMapConfig >   

 

 

解释:

1.properites

<properties embedded="database.config, IBatisNetDemo"/>  指定properties文件可作为程序集的资源文件进行加载


2.setting

useStatementNamespaces 是否使用Satement命名空间,这里的命名空间指的是映射文件中sqlMap节点的namespace属性

映射文件Person.xml:<sqlMap namespace="Person" xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
cacheModelsEnabled 是否启用DataMapper的缓存机制,针对全部的SqlMap(什么是DataMap的缓存机制?)

validateSqlMap 是否启用SqlMapConfig.xsd schema验证映射文件


3.providers
用于提供数据库驱动配置文件的文件名和路径

<providers embedded="providers.config,IBatisNetDemo"/>


4.database

其中包括两个子元素,分别是provider和datasource
如果在providers.config文件中指定了默认的数据库驱动,那么provider节点就不需要设置了,它的作用是在换数据库驱动时不需要修改providers.config文件。datasource节点用于指定ADO.NET Connection String.
<database>
    <!-- Optional ( default ) -->
    <provider name="sqlServer2.0"/>
    <dataSource name="iBatisNet" connectionString="data source=${datasource};database=${database};user id=${userid};password=${password};connection reset=false;connection lifetime=5; min pool size=1; max pool size=50"/>
</database>


5.sqlmap

该节点下需列出所有应用程序使用的DataMapper的实例,也就是映射文件。
<sqlMap embedded="Map.SqlClient.Person.xml,IBatisNetDemo"/>


其中,带$号的变量,在database.config中配置,并通过<properties embedded="database.config, IBatisNetDemo"/>加载。

database.config文件:

ExpandedBlockStart.gif database.config
<? xml version="1.0" encoding="utf-8"  ?>   
< databaseConfig  xmlns ="http://ibatis.apache.org/dataMapper"  xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"   >   
< settings >   
    
< add  key ="userid"  value ="sa"   />   
    
< add  key ="password"  value ="1234"   />   
    
< add  key ="database"  value ="iBatis"   />   
    
< add  key ="datasource"  value ="(local)"   />   
    
< add  key ="selectKey"  value ="select @@IDENTITY as value"   />   
    
< add  key ="directory"  value ="Maps"   />   
    
< add  key ="useStatementNamespaces"  value ="false"   />   
</ settings >   
</ databaseConfig >   

 

 也可以直接把数据库参数写在sqlmap.config文件中,而不需要database.config文件。

转载于:https://www.cnblogs.com/niuniu1985/archive/2009/12/24/1631166.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值