/MySQL

Simple MySQL database wrapper for Java

Primary LanguageJavaMIT LicenseMIT

A simple JDBC wrapper

Java CI with Gradle

A simple, clean and effective JDBC wrapper built on top of HikariCP

Setting up your project workspace

Maven

To integrate this library in your project using maven, add these to your pom.xml

<repository>
    <id>husk</id>
    <url>https://maven.husk.pro/repository/maven-public/</url>
</repository>
<dependency>
    <groupId>pro.husk</groupId>
    <artifactId>mysql</artifactId>
    <version>1.3.6</version>
</dependency>

Gradle

Add this to repositories

maven {
    url = 'https://maven.husk.pro/repository/maven-public/'
}

And add this to dependencies

implementation 'pro.husk:mysql:1.3.6'

Note: it is assumed that mysql-connector-java is provided

If it is not, please also add

For Maven

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>VERSION</version>
</dependency>

or for Gradle

implementation 'mysql:mysql-connector-java:VERSION'

Versions can be found here

What if I don't use a build tool

Alternatively, you can also just compile from source, download a compiled version and add it to your classpath, or supply the files in your project workspace!

Usage

Create the database

// Create database
MySQL mysql = new MySQL(host, port, database, username, password, params);

Query

For queries, there's two different ways we can do it!

If we are just processing data, we can do it this way (so we don't have to clean up resources later! (Recommended))

Sync query

// Execute query
mysql.query("SELECT * from table WHERE id = 1;", results -> {
    if (results != null) {
      // do something
    }
});

...or you can get the ResultSet itself through

    try (ResultSet results = mysql.query(query)) {
            // Do something with the ResultSet

            // Then close statement (the ResultSet will close itself)
            results.getStatement().close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

Please make sure you close resources, or you'll end up with a memory leak! D:

Update

Sync update

int resultCode = mysql.update("INSERT INTO `whitelist` (`uuid`, `date_added`) VALUES ('" + uuid + "', CURRENT_DATE());")

// Check result, do something