2012-04-24 66 views
1

我將SqlMapConfig.xml保存在src文件夾中作爲一個包。當我爲我的項目創建jar時,SqlMapCofig以及映射器和屬性文件被複制到jar中。當我必須更改數據庫連接用戶名,密碼和內容時,這是一個問題。有沒有辦法將SqlMapConfig.xml或connection.properties文件保存在jar之外?將sqlMapConfig保存在jar/classpath中

我試圖把它放在外面,但然後它給出了一個文件未找到錯誤。

這是我的SqlMapConfig文件;

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE configuration 
PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-config.dtd"> 
<configuration> 

<properties resource="config/connection.properties" /> 

<typeAliases> 
    <typeAlias alias="Employee" type="com.Employee" /> 

</typeAliases> 

<environments default="development"> 
    <environment id="development"> 
     <transactionManager type="JDBC" /> 
     <dataSource type="POOLED"> 
      <property name="driver" value="${database.driver.class.name}" /> 
      <property name="url" value="${database.connection.url}" /> 
      <property name="username" value="${database.username}" /> 
      <property name="password" value="${database.password}" /> 
     </dataSource> 
    </environment> 
</environments> 

<mappers> 
    <mapper resource="config/mappers/Employee.xml" /> 
</mappers> 

回答

1

一些搜索我用整個的解決方案來了之後,

SqlSession session = sqlMapper.openSession(conn); 

代替,

SqlSession session = sqlMapper.openSession(); 

'conn將' 爲你傳遞給正常的SqlConnection的openSession()。 conn的連接屬性可以存儲在任何你喜歡的地方。