如何在没有JNDI的情况下使用DataSource检索数据库连接?

img*_*gen 2 java jndi jdbc

我们想要自己的数据库连接配置而不是使用JNDI,但在此期间,我们还想使用DataSource而不是使用DriverManager,怎么做?

Aru*_*hny 6

您使用连接池库,如c3p0commons dbcp.

C3P0

ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "org.postgresql.Driver" ); //loads the jdbc driver            
cpds.setJdbcUrl( "jdbc:postgresql://localhost/testdb" );
cpds.setUser("dbuser");                                  
cpds.setPassword("dbpassword");

Connection connection = cpds.getConnection();
Run Code Online (Sandbox Code Playgroud)

DBCP

BasicDataSource ds= new BasicDataSource();
ds.setDriverClassName("org.postgresql.Driver");
ds.setUrl("jdbc:postgresql://localhost/testdb");
ds.setUsername("dbuser");
ds.setPassword("dbpassword");

Connection connection = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)