Search code examples
javajdbcjndi

How to retrieve DB connection using DataSource without JNDI?


We want our own db connection configuration instead of using JNDI, but in the meantime, we also want to use DataSource instead of using DriverManager, how to do so?


Solution

  • You use a connection pool library like c3p0 or commons 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();