[英]How to get a DataSource?
我不确定如何获取DataSource
对象。 我能够使用DriverManager
方法获得与在localhost上运行的SQL数据库的连接,但是每次我尝试使用DataSource
方法这样做时,我都会得到异常(主要是为了命名)。
我想知道的是:
DataSource
对象? DataSource
类,还是像DriverManager
一样,您仅在没有创建新类的情况下获得连接? DataSource
允许从连接池中获取JDBC连接。 DataSource
对象表示特定的DBMS或其他一些数据源,例如文件。 如果公司使用多个数据源,它将为每个数据源部署一个单独的DataSource
对象。 DataSource
接口由驱动程序供应商实现。 您可以将数据库连接属性文件外部化,并使用JNDI获取对象。 使用Datasource
您只需要知道JNDI名称。 应用服务器关心细节。
它可以通过三种不同的方式实现:
DataSource
实现产生标准的Connection对象,这些对象未在分布式事务中合并或使用。 DataSource
实现会生成参与连接池的Connection对象,即可以回收的连接。 DataSource
实现会生成可在分布式事务(即访问两个或多个DBMS服务器的事务)中使用的Connection对象。 就像在Spring中一样,您可以在XML文件中配置数据源,然后(1)将其注入到bean中,(2)从ApplicationContext
获得它。
DataSource ds = (DataSource) ApplicationContextProvider.
getApplicationContext().getBean("myDataSource");
Connection c = ds.getConnection();
建议阅读:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.