This section provides some quick information on establishing connections from JDBC to databases.
JDBC 4.0 API offers two different ways to establish a connection to the database server:
1. Using DrirverManager Class: DriverManager.getConnection(connection_url) - The driver manager passes the connection URL
to all loaded JDBC drivers, hoping that one of them will recognize the URL and creates a connection.
See sample code below:
// Loading a JDBC driver
Class.forName("acme.db.Driver");
// Creating a connection
String url = "jdbc:odbc:fred";
Connection con = DriverManager.getConnection(url,"user","pass");
2. Using DataSource Object: ds.getConnection() - A DataSource object should be configured and registered with a JNDI (Java Naming and Directory Interface)
directory service only once. When a connection is needed, the registered DataSource object can be retrieved back from JNDI.
A connection can be then created from the retrieved DataSource object.
// Registering a DataSource
VendorDataSource vds = new VendorDataSource();
vds.setServerName("my_database_server");
vds.setDatabaseName("my_database");
vds.setDescription("the data source for inventory and personnel");
Context ctx = new InitialContext();
ctx.bind("jdbc/AcmeDB", vds);
// Creating a connection
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("jdbc/AcmeDB");
Connection con = ds.getConnection("genius", "abracadabra");
JDK documentation suggests to use Database object to create connection objects whenever possible.