java:使用静态方法获取数据库连接
我正在开发一个现有的基于JavaEE的应用程序。这具有以下连接到数据库的方法:java:使用静态方法获取数据库连接,java,static,static-methods,Java,Static,Static Methods,我正在开发一个现有的基于JavaEE的应用程序。这具有以下连接到数据库的方法: public static java.sql.Connection connectionToDataBase(String jndiName,boolean flag)throws Exception { DataSource ds =(javax.sql.DataSource) initCtx.lookup(jndiName); return ds.getConnection(); } catch (Na
public static java.sql.Connection connectionToDataBase(String jndiName,boolean flag)throws Exception
{
DataSource ds =(javax.sql.DataSource) initCtx.lookup(jndiName);
return ds.getConnection();
} catch (NamingException ne) {
throw ne;
} finally {
try {
if (initCtx != null)
initCtx.close();
} catch (NamingException ne) {
throw ne;
}
}
}
我的问题是使用静态方法连接数据库是否正确?为什么将函数定义为静态 这是正确的,也没有任何约定禁止您从非静态方法调用静态方法。根据定义,非静态方法属于类的实例,而静态方法属于类本身 拥有一个静态方法仅仅意味着不需要类的实例来连接到DB
为了回答你的问题,你可能想考虑一下这个课程的内容。是否只希望类的实例能够连接到DB?或者您希望能够连接到DB而不引用类的实例吗?如果您可以使用连接池或实体管理器,您最好使用它们 使用静态方法连接数据库没有什么错。您是否未经尝试就捕获了(第5行)?我没有发布整个方法代码,因此可能缺少某些部分,这个问题的唯一目的是使用静态方法获取数据库连接是否有效。@gobernador:这不完全正确。
最后
块将始终运行。()@ig0774你说得对,我不知道。嗯,你每天都能学到一些东西。