SQL Library icon

SQL Library -----

A simple sql library that doesn't require you to write a single line of sql



Gradle
Code (Text):
repositories {
    maven {
        url('http://repo.byncing.eu/snapshots')
        allowInsecureProtocol(true)
    }
}

dependencies {
    implementation('eu.byncing:sql-lib:2.0.3-SNAPSHOT')
}

A small example of how to add a player to the database.

How to create a SqlLib instance.
Code (Java):
SqlLib lib = new SqlLib ( ) ;

How to connect to sql server.
Code (Java):
lib. connect ( new Profile ( "127.0.0.1", 3306, "root", "bridge", "" ) ) ;

Create a table with keys and data types
Code (Java):
Table table = lib. table ( "players" ) ;
table. setKeys ( "UUID", "NAME", "CREATE_TIME", "ONLINE" ) ;
table. setTypes (DataTypes. STRING, DataTypes. STRING, DataTypes. LONG, DataTypes. BOOLEAN ) ;
table. createTable ( ) ;

Create a PlayerData class
Code (Java):
 PlayerData data = new PlayerData (UUID. randomUUID ( ), "byncing", System. currentTimeMillis ( ), true ) ;

Retrieve a table
Code (Java):
table. fetch (fetch -> {
    if ( !fetch. find ( "NAME", "byncing" ) ) {
        table. insert (data. serialize ( ) ) ;
    }
    fetch. setWhere ( "NAME" ). setWhereValues ( "byncing" ) ;
    PlayerData playerData = PlayerData. deserialize (fetch. single ( "UUID", "NAME", "CREATE_TIME", "ONLINE" ) ) ;
    System. out. println (playerData ) ;
}, true ) ;

Here the online value is changed by the player byncing.
Code (Java):
table. update (update -> {
    update. setWhere ( "NAME" ). setWhereValues ( "byncing" ) ;
    table. fetch (fetch -> {
        fetch. setWhere ( "NAME" ). setWhereValues ( "byncing" ) ;
        update. setKeys ( "ONLINE" ). change ( !fetch. single ( "ONLINE", Boolean. class ) ) ;
    }, false ) ;
}, true ) ;

Here is a player data class with which you can serialize and deserialize the player.
Code (Java):
public class PlayerData {

    private final UUID uniqueId ;
    private final String name ;
    private final long createTime ;
    private boolean online ;

    public PlayerData (UUID uniqueId, String name, long createTime, boolean online ) {
        this. uniqueId = uniqueId ;
        this. name = name ;
        this. createTime = createTime ;
        this. online = online ;
    }

    public Object [ ] serialize ( ) {
        return new Object [ ] {uniqueId, name, createTime, online } ;
    }

    public static PlayerData deserialize (Map < String, Object > values ) {
        return new PlayerData (
            UUID. fromString ( ( String ) values. get ( "UUID" ) ),
            ( ( String ) values. get ( "NAME" ) ),
            ( ( Long ) values. get ( "CREATE_TIME" ) ),
            ( ( Boolean ) values. get ( "ONLINE" ) ) ) ;
    }

    public UUID getUniqueId ( ) {
        return uniqueId ;
    }

    public String getName ( ) {
        return name ;
    }

    public long getCreateTime ( ) {
        return createTime ;
    }

    public boolean isOnline ( ) {
        return online ;
    }

    public void setOnline ( boolean online ) {
        this. online = online ;
    }
}
Resource Information
Author:
----------
Total Downloads: 366
First Release: Nov 20, 2021
Last Update: Dec 17, 2021
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings