2012-04-24 38 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的连接属性可以存储在任何你喜欢的地方。