This is my class for doing connection with 'libreria_udemy' database, but i have some problems.
package connection;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnection {
    static String bd = "libreria_udemy";
    static String port = "3307";
    static String login = "root";
    static String password = "password";
    static String driver = "org.mariadb.jdbc.Driver";
    
    //jdbc:mysql://ip:puerto/bd
    //jdbc es el protocolo que se usa para conectarse a base de datos
    
    static String url = "jdbc:mysql://localhost:"+port+"/"+bd;
    
    Connection connection;
    
    public DBConnection() {
        
        try {
            System.out.println("holaa");
            System.out.println("mmm");
            Class.forName(driver);
            
            //this code does not appear:
            System.out.println("no aparezco");
            connection = DriverManager.getConnection(url, login, password);
            System.out.println(connection);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
    
    public Connection getConnection() {
        return connection;
    }
    
    public void desconectar() {
        connection = null; 
    }
}
And this class is for executing a simple query for updating my database. Also, Class.forName() is printing the driver in the console and I don't know why. I'm using MariaDB
package test;
import java.sql.Statement;
import connection.DBConnection;
public class OperacionesBD {
    public static void main(String[] args) {
        actualizarLibro(1, "Historia");
    }
    
    public static void actualizarLibro(int id, String genero) {
        DBConnection con = new DBConnection();
        String sql = "UPDATE libros SET genero ='" + genero + "'where id = "+id; 
        
        try {
            Statement st = con.getConnection().createStatement();
            st.executeQuery(sql);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        } finally {
            con.desconectar();
        }
    }
    
}
When I execute console shows this:
holaa
mmm
org.mariadb.jdbc.Driver
Cannot invoke "java.sql.Connection.createStatement()" because the return value of "connection.DBConnection.getConnection()" is null
