我们希望我们自己的数据库连接配置,而不是使用JNDI,但与此同时,我们也希望使用数据源,而不是使用的DriverManager的,怎么办呢?
Answer 1:
您可以使用连接池库像C3P0或公共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();
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();
Answer 2:
您可以使用org.apache.commons.dbcp.BasicDataSource
BasicDataSource ds= new BasicDataSource();
ds.setDriverClassName("oracle.jdbc.driver.OracleDriver");
ds.setUrl("jdbc:oracle:thin:@dburl:port:sid");
ds.setUsername("uname");
ds.setPassword("pass");
文章来源: How to retrieve DB connection using DataSource without JNDI?