现在的位置: 首页 > 综合 > 正文

将ibatis.net 配置文件编译到dll中

2012年05月10日 ⁄ 综合 ⁄ 共 1678字 ⁄ 字号 评论关闭

在使用ibatis编写程序的时候我们希望将配置文件隐藏起来,比如数据库的配置信息等。

ibatis。net提供了嵌入资源的方式,可以将配置文件编译到程序集当中,达到保护程序的目的。

现在我们以嵌入数据库配置为例:

1.编写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">

    <!-- 外部配置文件 
    <properties resource="properties.config" />
    
-->
  
<properties embedded="database.config,renshi"/>
    
<settings>
      
<setting useStatementNamespaces="${useStatementNamespaces}"/>
    
</settings>
  
  
<providers embedded="providers.config,renshi"/>
    

    <!-- 数据库连接信息 -->
    
<database>
        
<provider name="sqlServer2.0" />
        
<dataSource name="datasource" connectionString="data source=${datasource};database=${database};user id=${userid};password=${password};connection reset=false;connection lifetime=5;  max pool size=50"/>
    
</database>

    <!-- SqlMap.xml 信息 -->
    
<sqlMaps>
        
<sqlMap resource="Maps/Common.config" />
        
<sqlMap resource="Maps/Mylog.config"/>
  
</sqlMaps>

</sqlMapConfig>

 

通过以上代码,我们可以看到有两个文件是被编译到程序集中。

1.<properties embedded="database.config,renshi"/>
2.<providers embedded="providers.config,renshi"/>
这两个文件被编译到程序集rensh的exe文件中

在datasource 配置中数据源,数据库名,用户名和密码是使用${}的标签。

这写配置我们写在了 database.config 文件当中。看一下配置文件的写法。

 

代码

<?xml version="1.0" encoding="utf-8" ?>
<settings>
  
<add key="userid" value="sa" />
  
<add key="password" value="sasa" />
  
<add key="database" value="test" />
  
<add key="datasource" value="." />
  
<add key="selectKey" value="select @@IDENTITY as value" />
  
<add key="directory" value="Maps" />
  
<add key="useStatementNamespaces" value="false" />
</settings>

 

另外点击database.config文件,修改文件属性,生成操作修改为 “嵌入的资源”。

这样重新编译后,database.config文件就会编译到程序集中,把配置文件保护起来。

 

抱歉!评论已关闭.