1

我将 SqlMapConfig.xml 作为一个包保存在 src 文件夹中。当我为我的项目创建 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>

4

1 回答 1

1

经过一番搜索,我发现了一个解决方案,

SqlSession session = sqlMapper.openSession(conn);

代替,

SqlSession session = sqlMapper.openSession();

'conn' 是您传递给 openSession() 的普通 SQlConnection。conn 的连接属性可以存储在您喜欢的任何位置。

于 2012-05-31T06:22:01.013 回答