Java and MySQL (MariaDB) – CRUD Example

mariadb, mysql, clustering, cluster

Java and MySQL are a popular combination for building powerful and scalable applications. Java provides a robust programming language and runtime environment that can be used to build applications of all sizes and complexities. MySQL, on the other hand, provides a fast and reliable relational database management system that is widely used across a variety of industries.

Using Java and MySQL together provides developers with a powerful toolset for building database-driven applications. Java provides a powerful JDBC API for interacting with MySQL databases, and the extensive Java class library provides a wide range of tools and utilities for building complex applications. Additionally, Java frameworks like Spring and Hibernate provide powerful tools for building web applications with MySQL backends.

Code example MySQL/MariaDB CRUD operations in Java:

import java.sql.*;

public class MySQLDatabase {
    private Connection connection;

    public MySQLDatabase(String url, String username, String password) throws SQLException {
        connection = DriverManager.getConnection(url, username, password);
    }

    public void createData(String table, String[] columns, Object[] values) throws SQLException {
        String sql = "INSERT INTO " + table + " (" + String.join(", ", columns) + ") VALUES (";
        for (int i = 0; i < values.length; i++) {
            sql += "?";
            if (i < values.length - 1) {
                sql += ", ";
            }
        }
        sql += ")";
        PreparedStatement statement = connection.prepareStatement(sql);
        for (int i = 0; i < values.length; i++) {
            statement.setObject(i + 1, values[i]);
        }
        statement.executeUpdate();
    }

    public ResultSet readData(String table, String[] columns, String whereClause) throws SQLException {
        String sql = "SELECT " + String.join(", ", columns) + " FROM " + table;
        if (whereClause != null) {
            sql += " WHERE " + whereClause;
        }
        Statement statement = connection.createStatement();
        return statement.executeQuery(sql);
    }

    public void updateData(String table, String[] columns, Object[] values, String whereClause) throws SQLException {
        String sql = "UPDATE " + table + " SET ";
        for (int i = 0; i < columns.length; i++) {
            sql += columns[i] + "=?";
            if (i < columns.length - 1) {
                sql += ", ";
            }
        }
        if (whereClause != null) {
            sql += " WHERE " + whereClause;
        }
        PreparedStatement statement = connection.prepareStatement(sql);
        for (int i = 0; i < values.length; i++) {
            statement.setObject(i + 1, values[i]);
        }
        statement.executeUpdate();
    }

    public void deleteData(String table, String whereClause) throws SQLException {
        String sql = "DELETE FROM " + table;
        if (whereClause != null) {
            sql += " WHERE " + whereClause;
        }
        Statement statement = connection.createStatement();
        statement.executeUpdate(sql);
    }

    public void close() throws SQLException {
        if (connection != null) {
            connection.close();
        }
    }
}

Example of how to use the above methods:

try {
    String url = "jdbc:mysql://localhost:3306/mydatabase";
    String username = "myusername";
    String password = "mypassword";

    MySQLDatabase database = new MySQLDatabase(url, username, password);

    // Create data
    String[] columns = {"name", "age", "email"};
    Object[] values = {"John Doe", 25, "johndoe@example.com"};
    database.createData("mytable", columns, values);

    // Read data
    String[] readColumns = {"name", "age", "email"};
    ResultSet resultSet = database.readData("mytable", readColumns, null);
    while (resultSet.next()) {
        String name = resultSet.getString("name");
        int age = resultSet.getInt("age");
        String email = resultSet.getString("email");
        System.out.println(name + " (" + age + ") " + email);
    }

    // Update data
    String[] updateColumns = {"age", "email"};
    Object[] updateValues = {30, "johnd

The above code should get you started. Let me know if this worked well or not by commenting below!

See also  Java HashMap vs HashTables - Explained

Leave a Comment