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

本文介绍如何使用ibatis.net将敏感配置文件如数据库连接信息等编译到程序集中进行保护。通过具体示例展示了如何设置sqlmap.config及database.config等文件,并确保它们作为嵌入资源存在于程序集中。

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

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

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

1.编写sqlmap.config

 

ExpandedBlockStart.gif代码
<?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 文件当中。看一下配置文件的写法。

 

ExpandedBlockStart.gif代码
<?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文件就会编译到程序集中,把配置文件保护起来。

 

转载于:https://www.cnblogs.com/yg_zhang/archive/2010/06/25/1764846.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值