iBatis.Net系列(四)-properties.config

在上一节中我们说到使用核心文件sqlmap.config的properties节点来引用另外的配置文件,这个配置文件就是properties.config,我们一般把 数据库驱动、数据库连接字符串、sql语句映射文件的路径 存放在这个文件中,方便统一管理。
我们在上一节中
1 配置数据库驱动是这样写的
<provider name="sqlServer4.0"/>
我们觉得吧sqlServer4.0这样的驱动写在核心文件中不太科学,
2 数据库连接字符串是这样配置的
<dataSource name="Home" connectionString="Data Source=127.0.0.1;Initial Catalog=Db2;User ID=sa;Password=123"/>
我们觉得把这么长的数据库连接字符串写在核心文件中也不太科学
3 配置sql映射文件是这样写的
<sqlMaps>
<sqlMap resource="../IBNetModel/Maps/Student.xml"/>
<sqlMap resource="../IBNetModel/Maps/Course.xml"/>
</sqlMaps>
我们发现../IBNetModel/Maps/是重复的,如果有上百个这样的文件,那我们得重复写上百次,不便于管理。
这一切都可以使用properties.config配置文件来解决,在该文件中这样配置:
<?xml version="1.0" encoding="utf-8" ?>
<settings>
<add key="provider" value="sqlServer4.0" />
<add key="connectionString" value="Data Source=127.0.0.1;Initial Catalog=Db2;User ID=sa;Password=123"/>
<add key="root" value="../IBNetModel/Maps/" />
</settings>
这样我们在sqlmap.config文件中就可以通过${name}来引入配置了,其中name是指settings节点中的每一个key,比如${provider}就是指的sqlServer4.0,${connectionString}就是指的连接字符串。

有了properties.config文件那么我们的核心文件(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"/>
<settings>
<setting useStatementNamespaces="false"/>
<setting cacheModelsEnabled="false"/>
<setting validateSqlMap="false"/>
</settings>
<database>
<provider name="${provider}"/>
<dataSource name="Home" connectionString="${connectionString}"/>
</database>
<sqlMaps>
<sqlMap resource="${root}Student.xml"/>
<sqlMap resource="${root}Course.xml"/>
</sqlMaps>
</sqlMapConfig>

时间: 2024-10-21 09:32:03

iBatis.Net系列(四)-properties.config的相关文章

iBatis.Net系列(三)-sqlmap.config

sqlmap.config文件是整个IBatis框架的核心文件,从他的命名上就可以看得出来 当我们调用iBatisNet框架去访问数据库的时候,它会自动去项目的根目录去找sqlmap.config文件,所以这个文件的路径要放在和web.config相同的目录下,而且文件名不能修改,如果该文件不在项目的根目录或者文件名不对,那么你在调用的时候需要自己去解析这个文件. 这个文件有很多的配置节点,在IBatis框架启动的时候首先要解析这个文件中的每一个节点,要玩转整个框架就得从这些配置节点开始,接下来

iBatis.Net系列(五)-providers.config-

providers.config文件配置数据库驱动,这与properties.config文件的原理是一样的. 如果把providers.config文件放在与sqlmap.config文件相同的路径下,则系统自动解析,反之需要指定路径.你下载的文件夹Ibatis.DataMapper.1.6.2.bin中应该有一个该文件的样例,每一个驱动都有一个enabled属性,设置该驱动是否启用,default属性设置该驱动是否默认. 我配置了2个驱动,使用的是sqlServer4.0,它已经被配置到pr

Apache Kafka系列(四) 多线程Consumer方案

Apache Kafka系列(一) 起步 Apache Kafka系列(二) 命令行工具(CLI) Apache Kafka系列(三) Java API使用 Apache Kafka系列(四) 多线程Consumer方案 本文的图片是通过PPT截图出的,读者如果修改意见请联系我 一.Consumer为何需要实现多线程 假设我们正在开发一个消息通知模块,该模块允许用户订阅其他用户发送的通知/消息.该消息通知模块采用Apache Kafka,那么整个架构应该是消息的发布者通过Producer调用AP

解读Unity中的CG编写Shader系列四——unity中的圆角矩形shader

上篇文章中我们掌握了表面剔除和剪裁模式 这篇文章将利用这些知识实现一个简单的,但是又很常用的例子:把一张图片做成圆角矩形 例3:圆角矩形Shader 好吧我承认在做这个例子的时候走了不少弯路,由于本人对矩阵的知识掌握已经悉数还给老师,所以一开始用了一些笨办法计算圆角矩形区域. 我们知道TEXTCOORD0是一个以对象为坐标系的坐标,并且范围在该坐标的第一象限,取值为(0,0)到(1,1) 那么我们把每一张图片都看做一张1X1大小的矩形 我们要在1X1大小的矩形中擦除4个角,应该是这样: 以左上角

Exchange 2013SP1和O365混合部署系列四

前面的三篇算是准备工作,今天我们看下如何在Exchange 2013 SP1中配置启用混合部署.老规矩,先看图,特别注意的我会,指出. 在EAC面板有个混合选项.点击启用.然后会登录到0365. 继续下一步. 继续下一步. 继续下一步. 远程迁移需要一张公网的证书. 继续下一步,需要输入凭据. 下面会自动开始配置. 混合部署到这里,算是配置完成. 组织里面多了本地到O365的通道. O365里面则相反的. 下篇我们将介绍本地新建O365账号和本地到O365的迁移. 先到这里. Exchange

ICMP拒绝服务攻击(原始套接字系列四)

拒绝服务攻击(DoS)企图通过使被攻击的计算机资源消耗殆尽从而不能再提供服务,拒绝服务攻击是最容易实施的攻击行为.中美黑客大战中的中国黑客一般对美进行的就是拒绝服务攻击,其技术手段大多不够高明. ICMP实现拒绝服务攻击的途径有二:一者"单刀直入",一者"借刀杀人".具体过程分析如下:   ICMPFLOOD攻击 大量的 ICMP消息发送给目标系统,使得它不能够对合法的服务请求做出响应.中美黑客大战中的多数中国黑客采用的正是此项技术.ICMP FLOOD攻击实际上是

Lync Server 2010 安装部署系列四:安装&配置证书服务器

1.打开"服务器管理器" 2.添加角色 3.单击下一步按钮 4.勾选"Active Directory证书服务" 5.单击"下一步"按钮: 6.勾选"证书颁发机构"和"证书颁发机构Web注册",单击"下一步"按钮: 7.勾选"企业",单击"下一步"按钮: 8.勾选"根CA",单击"下一步"按钮: 9.勾选&q

sed修炼系列(四):sed中的疑难杂症

本文目录:1 sed中使用变量和变量替换的问题2 反向引用失效问题3 "-i"选项的文件保存问题4 贪婪匹配问题5 sed命令"a"和"N"的纠葛 1.sed中使用变量和变量替换的问题 在脚本中使用sed的时候,很可能需要在sed中引用shell变量,甚至想在sed命令行中使用变量替换.也许很多人都遇到过这个问题,但引号却死活调试不出正确的位置.其实这不是sed的问题,而是shell的特性.搞懂sed如何解决引号的问题,对理解shell引号问题有

So Easy! Oracle在Linux上的安装配置系列四

So Easy! Oracle在Linux上的安装配置系列四  监听器的配置 在创建了数库和各种数据库对象并装载了数据后,下一步是在数据库服务器与使用它的用户之间建立连 接,Oracle Net Services使这种连接成为可能.Oracle Net Services组件必须"存活"在客户机和服务器上,它们一般使用TCP/IP网络协议来建立客户机和数据库服务器之间的网络连接. 本文官方文档位置: http://docs.oracle.com/cd/E11882_01/network.