在上一节中我们说到使用核心文件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>