Unable to connect with MariaDB using Java

760 Views Asked by At

I am trying to connect with My company's database which is 'MariaDB', using Java, I am using following code:

package co.companyname.helpers;
import java.sql.*;

public class DatabaseConnectivity {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        String query = "select * from time_clock limit 10";
        try {
            Class.forName("org.mariadb.jdbc.Driver");
            System.out.println("Connecting to a selected database...");
            conn = DriverManager.getConnection(
                    "jdbc:mariadb://host_url:3306", "root", "password");
            System.out.println("Connected database successfully...");
            System.out.println("Creating table in given database...");
            stmt = conn.createStatement();
            String sql = query;
            stmt.executeUpdate(sql);
            System.out.println("Created table in given database...");
        } catch (SQLException se) {
            se.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (stmt != null) {
                    conn.close();
                }
            } catch (SQLException se) {
            }
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException se) {
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }
}

At above I have used host_url, but I am using actual host within string, now I am getting following error:

java.lang.ClassNotFoundException: org.mariadb.jdbc.Driver
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:315)
    at co.company_name.helpers.DatabaseConnectivity.main(DatabaseConnectivity.java:10)
Goodbye!

I need to know, if I am doing anything wrong. Thanks.

0

There are 0 best solutions below