gpt4 book ai didi

java - 将 sqlMapConfig 保留在 jar/classpath 之外

转载 作者:太空宇宙 更新时间:2023-11-04 08:16:38 25 4
gpt4 key购买 nike

我将 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>

最佳答案

经过一番搜索后,我找到了一个解决方案,

SqlSession session = sqlMapper.openSession(conn);

而不是,

SqlSession session = sqlMapper.openSession();

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

关于java - 将 sqlMapConfig 保留在 jar/classpath 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10294082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com