Connect to MySQL with Java

This example connects your Java application to a MySQL service.


These are the placeholders you will need to replace in the code sample:




Host name for the connection, from the service overview page


Port number to use, from the service overview page


Password for avnadmin user


Database to connect


For this example you will need:

  • JDK 1.8+

  • MySQL JDBC Driver which could be downloaded manually from MySQL Community Downloads or it could be downloaded with maven like:

    mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=mysql:mysql-connector-java:8.0.28:jar -Ddest=mysql-driver-8.0.28.jar


Add the following to

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Locale;

public class MySqlExample {
    public static void main(String[] args) throws ClassNotFoundException {
        String host, port, databaseName, userName, password;
        host = port = databaseName = userName = password = null;
        for (int i = 0; i < args.length - 1; i++) {
            switch (args[i].toLowerCase(Locale.ROOT)) {
                case "-host": host = args[++i]; break;
                case "-username": userName = args[++i]; break;
                case "-password": password = args[++i]; break;
                case "-database": databaseName = args[++i]; break;
                case "-port": port = args[++i]; break;
        // JDBC allows to have nullable username and password
        if (host == null || port == null || databaseName == null) {
            System.out.println("Host, port, database information is required");
        try (final Connection connection =
                     DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + databaseName + "?sslmode=require", userName, password);
             final Statement statement = connection.createStatement();
             final ResultSet resultSet = statement.executeQuery("SELECT version() AS version")) {

            while ( {
                System.out.println("Version: " + resultSet.getString("version"));
        } catch (SQLException e) {
            System.out.println("Connection failure.");

This code creates a MySQL client and connects to the database. It fetches version of MySQL and prints it the output.

Run the code after replacement of the placeholders with values for your project:

javac && java -cp mysql-driver-8.0.28.jar:. MySqlExample -host MYSQL_HOST -port MYSQL_PORT -database MYSQL_DATABASE -username avnadmin -password MYSQL_PASSWORD

If the script runs successfully, the output will be the values that were inserted into the table:

Version: 8.0.26

Now that your application is connected, you are all set to use Java with Aiven for MySQL.