Connecting to MySQL Using JDBC Driver (original) (raw)

Summary: in this tutorial, you will learn how to connect to the MySQL database using the JDBC Connection object.

This tutorial picks up where the Setting Up MySQL JDBC Development Environment tutorial left off.

Creating a new project

First, launch the IntelliJ IDE.

Second, create a new project called mysql-jdbc.

Third, right-click the project name and choose the Open Module Settings.

Fourth, choose the Libraries under Project Settings and click New Project Library.

Fifth, select the mysql connector file such as D:\mysql-drivers\mysql-connector-j-8.2.0\mysql-connector-j-8.2.0.jar and click OK.

Creating a database configuration file

First, create a new file called configure.properties file in the src directory of the project.

Second, add the following database configuration to the configure.properties file:

db.url=jdbc:mysql://localhost:3306/mysqljdbc db.username=<user> db.password=<password>Code language: Properties (properties)

In this config.properties, we specify three important pieces of information:

Note that you need to replace the user and password with the one that you use to connect to the MySQL server.

Defining a DatabaseConfig class

First, create a new file in the src directory called DatabaseConfig.java.

Second, define the class DatabaseConfig in the DatabaseConfig.java file:

`import java.io.IOException; import java.io.InputStream; import java.util.Properties;

public class DatabaseConfig {

private static final Properties properties = new Properties();

static {
    try (InputStream input = DatabaseConfig.class.getClassLoader().getResourceAsStream("config.properties")) {
        if (input == null) {
            System.out.println("Sorry, unable to find config.properties");
            System.exit(1);
        }

        // Load the properties file
        properties.load(input);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

public static String getDbUrl() {
    return properties.getProperty("db.url");
}

public static String getDbUsername() {
    return properties.getProperty("db.username");
}

public static String getDbPassword() {
    return properties.getProperty("db.password");
}

}`Code language: Java (java)

The DatabaseConfig class reads the database configuration from the config.properties file.

The DatabaseConfig has three static methods that expose the database configuration:

Creating a MySQLConnection class

Create a new file named MySQLConnection.java file in the src directory and define the MySQLConnection class:

`import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;

public class MySQLConnection { public static Connection connect() throws SQLException {

    try {
        // Register JDBC driver
        Class.forName("com.mysql.cj.jdbc.Driver");

        // Get database credentials from DatabaseConfig class
        var jdbcUrl = DatabaseConfig.getDbUrl();
        var user = DatabaseConfig.getDbUsername();
        var password = DatabaseConfig.getDbPassword();

        // Open a connection
        return DriverManager.getConnection(jdbcUrl, user, password);

    } catch (SQLException | ClassNotFoundException e) {
        System.err.println(e.getMessage());
        return null;
    }
}

} `Code language: Java (java)

Creating a Java Program

The following defines the Main class that uses the MySQLConnection class to connect to the MySQL database:

`import java.sql.SQLException;

public class Main { public static void main(String[] args){ try (var connection = MySQLConnection.connect()){ System.out.println("Connected to the MySQL database."); } catch (SQLException e) { System.err.println(e.getMessage()); } } }`Code language: Java (java)

The program connects to a MySQL database using the MySQLConnection class.

If the connection is successful, it prints a success message; otherwise, it catches and displays any SQLException that might occur during the connection process.

Note that we use the try-with-resources to ensure that the Connection is closed properly, even if an exception occurs.

The output of the program if it successfully connects to the MySQL server:

Connected to the MySQL database.

Summary

Was this tutorial helpful?