我正在JavaEE环境(weblogic 12)中开发,我的部分代码使用JDBC; 因此,我需要从应用程序服务器获取JDBC连接.
我知道在JavaEE中使用JDBC是一种非常糟糕的做法,但这是一个我无法改变的代码(遗留).
我找到了一种方法,但我不确定这是正确的方法:
@Resource(mappedName="mydsjndipath")
private DataSource ds;
public void foo() {
Connection conn = ds.getConnection();
}
Run Code Online (Sandbox Code Playgroud)
问题是我最后如何处理连接?
我无法真正提交/回滚它,因为我使用的是分布式事务.但我应该至少关闭它吗?
并且JTA事务将始终影响连接(在提交/回滚时)吗?
或许在JavaEE中使用JDBC还有另一种更好的方法吗?(不,EntityManager的本机查询不会这样做)
为什么使用JDBC是不好的做法?
如果您的应用程序服务器支持JDBC,并且让他通过JDBC连接到数据库,那么对我自己来说,没有理由不在应用程序中使用它!?
另一种方法是在您的应用程序中手动加载驱动程序并从中获取连接.但这就像重新发明轮子一样!
你也忽略了它的优势
最后,您应该始终关闭Connection/Statement/ResultSet,如:
try {
// your stuff here
}
finally {
if(connection != null) {
connection.close();
}
// same for statement/ResultSet ift not used anymore
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7924 次 |
最近记录: |