Skip to main content

How to Connect to a Database Using JDBC?

--
You must build a connection before accessing a database. In order to connect to a database, your specified JDBC driver class must be loaded by the JVM classloader.Your JDBC driver documentation provides the class name to use. You will have to use java.sql.DriverManager's getConnection() method to create a database connection. This method takes an argument which identifies your database you wishing to connect to through a JDBC URL. A JDBC URL starts with "jdbc:" indicating the protocol (JDBC).The JDBC URL you use will vary with the database you use (such as MySQL, Oracle, Sybase, and so on).
The following code is an example opening a MySQL database connection,
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Program {

  public static void main(String... args) {
    Connection con = null;

    try {
      Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    }
    catch(Exception e) {
      System.out.println("Exception: " + e.getMessage());
      return ;
    }

    try {
      con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb",
        "usr", "sql");

      if(!con.isClosed())
        System.out.println("Successfully connected to " +
          "MySQL server using TCP/IP...");

    } catch(Exception e) {
      System.out.println("Exception: " + e.getMessage());
    } finally {
      try {
        if(con != null)
          con.close();
      }
      catch(SQLException e) {
      }
    }
  }
}
We try to load the org.gjt.mm.mysql.Driver class which is MySQL JDBC driver class, and then catch the ClassNotFoundException if it is thrown. Then we try to connect mydb database on local MySQL server, and attempt to connect as user "usr", whose password is "sql". The connection returned by the method DriverManager.getConnection is an open connection you can use to create JDBC statements that pass your SQL statements to the DBMS.

Comments

  1. If you are running enterprise code then I would suggest using DataSources rather than DataManager.

    At the very least you should have all your code in one try catch block; if the driver fails to load then there is no point in trying to do the connection...

    ReplyDelete
  2. Yes..absolutely you are right..When it is enterprise application, we should use DataSource instread of DataManger. Here we are telling how basic JDBC connection can be established to Database...However thanks for your suggestion.

    ReplyDelete

Post a Comment

Popular posts from this blog

Asynchronous Vs. Synchronous Communications

Synchronous (One thread):   1 thread -> |<---A---->||<----B---------->||<------C----->| Synchronous (multi-threaded):   thread A -> |<---A---->| \ thread B ------------> ->|<----B---------->| \ thread C ----------------------------------> ->|<------C----->|

WebSphere MQ Interview Questions

What is MQ and what does it do? Ans. MQ stands for MESSAGE QUEUEING. WebSphere MQ allows application programs to use message queuing to participate in message-driven processing. Application programs can communicate across different platforms by using the appropriate message queuing software products. What is Message driven process? Ans . When messages arrive on a queue, they can automatically start an application using triggering. If necessary, the applications can be stopped when the message (or messages) have been processed. What are advantages of the MQ? Ans. 1. Integration. 2. Asynchrony 3. Assured Delivery 4. Scalability. How does it support the Integration? Ans. Because the MQ is independent of the Operating System you use i.e. it may be Windows, Solaris,AIX.It is independent of the protocol (i.e. TCP/IP, LU6.2, SNA, NetBIOS, UDP).It is not required that both the sender and receiver should be running on the same platform What is Asynchrony? Ans. With messag...

Advantages & Disadvantages of Synchronous / Asynchronous Communications?

  Asynchronous Communication Advantages: Requests need not be targeted to specific server. Service need not be available when request is made. No blocking, so resources could be freed.  Could use connectionless protocol Disadvantages: Response times are unpredictable. Error handling usually more complex.  Usually requires connection-oriented protocol.  Harder to design apps Synchronous Communication Advantages: Easy to program Outcome is known immediately  Error recovery easier (usually)  Better real-time response (usually) Disadvantages: Service must be up and ready. Requestor blocks, held resources are “tied up”.  Usually requires connection-oriented protocol