gpt4 book ai didi

jakarta-ee - 如何在 JavaEE 中使用 JDBC?

转载 作者:行者123 更新时间:2023-12-02 01:17:19 24 4
gpt4 key购买 nike

我在 JavaEE 环境(weblogic 12)中开发,我的部分代码使用了 JDBC;因此,我需要从应用服务器获取一个JDBC连接。
我知道在 JavaEE 中使用 JDBC 是一种非常糟糕的做法,但这是我无法更改的代码(遗留)。

我找到了一种方法,但我不确定这是正确的方法:

@Resource(mappedName="mydsjndipath")
private DataSource ds;

public void foo() {
Connection conn = ds.getConnection();
}

问题是最后的连接怎么办?
我不能真正提交/回滚它,因为我使用分布式事务。但我至少应该关闭它吗?
JTA 事务是否会始终影响连接(在提交/回滚时)?

或者也许有另一种在 JavaEE 中使用 JDBC 的更好方法? (不,EntityManager 的 native 查询不会执行)

最佳答案

为什么使用 JDBC 应该是不好的做法

如果您的应用程序服务器支持 JDBC,并且您让他通过 JDBC 连接到数据库,我个人认为您没有理由不在您的应用程序中也使用它!?

另一种方法是在您的应用程序中手动加载驱动程序并从中获取连接。但这就像重新发明轮子!

你也忽略了

的优势
  • JDBC 连接池的服务器端管理
  • 此连接的可重用性

最后,您应该始终关闭您的Connection/Statement/ResultSet,例如:

try {
// your stuff here
}
finally {
if(connection != null) {
connection.close();
}
// same for statement/ResultSet ift not used anymore
}

关于jakarta-ee - 如何在 JavaEE 中使用 JDBC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9767694/

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