我将sqlMapConfig.xml保存在src文件夹中作为packge。当我为我的项目创建jar时,SqlMapCofig以及映射器和属性文件被复制到jar中。当我必须更改数据库连接用户名,密码和内容时,这是一个问题。有没有办法将SqlMapConfig.xml或connection.properties文件保留在jar之外?
我尝试将它放在外面但是它给出了一个找不到文件的错误。
这是我的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>
答案 0 :(得分:1)
经过一番搜索后,我发现了一个使用
的解决方案SqlSession session = sqlMapper.openSession(conn);
代替,
SqlSession session = sqlMapper.openSession();
'conn'是传递给openSession()的普通SQlConnection。 conn的连接属性可以存储在您喜欢的任何地方。