⚙️
T-MiniGameAPI
WebsiteDiscord
2.0.0
2.0.0
  • 🏠Home
  • 💻Maven and Gradle
  • 📦Minigame setup
  • 🖱️Plugins are using this libarary
  • Basic features
    • 🗺️Configuration
      • 🎯Configurators
      • 🔴Override Configuartors
    • 🧑Models
      • 📦File model
        • 🟢Single file
        • 🟠Many files
      • 🧑‍🦱Users
    • 📔Loaders
      • 📗Loader
        • 📂File loader
  • Minigame features
    • 🅰️Arena system
      • 🟢Arena
      • 🔵ArenaManager
    • 🎮Game system
      • 🔴Game Manager
      • 🔵Game State
      • 🟡Users in game
      • 🟢Teams
    • ⏰Timers
      • 😀SimpleTimer
      • ✨XpTimer
    • 🪙Coins system
      • 🟢UserCoins
      • 🔵UserCoinsManager
    • ✨Statistics system
      • 🟢Default statistics system
      • 🔵Your own statistics system
    • 💥Cosmetics system
      • 📀Cosmetic
        • 💕ParticleCosmetic
      • ✳️Cosmetics Manager
      • 🧒Users' cosmetics
        • 💿UserCosmeticsManager
        • ✅UserCosmetics
  • Modules
    • 🔌What is module ?
    • 🗒️Modules list
    • Internal Modules
      • Commands Module
        • 🧔Parent commands
        • 🧒Sub commands
        • 📑Tab completer
        • ®️Command registration
      • SQL Module
        • 💡DbModel
        • SQLDatabaseDao
        • 💾Database loader
        • SQLDatabaseAdapter
        • SQLDatabaseMigrator
      • MongoDB Module
        • MongoDbConnector
        • 💡MongoDbModel
        • MongoDbDao
        • 💾MongoDb loader
    • 💾How to create module?
Powered by GitBook
On this page
  1. Modules
  2. Internal Modules
  3. SQL Module

Database loader

Database loader loads data into a list from SQL database.

Database loader must extend AbstractSqlDataBaseLoader.

Supported databases:

  • MySQL

  • SQLite

AbstractSqlDataBaseloader methods:

String getTableName(); //Gets table name
String getTableNameWithPrefix() //Gets table name with prefix
void load(String tableName); //Loads whole table

How to create a database loader?

First of all, get the current SQL database, you can do it thanks to T-DataBasesAPI.

The prefix of the table will be added automatically.

public class MyDatabaseLoader extends AbstractSqlDataBaseLoader<MyUser> {
    
    public MyDatabaseLoader (SQLDatabaseAdapter sqlDatabaseAdapter) {
        super(sqlDatabaseAdapter);
    }
    
    /**
     * Loads data from the database
     */
    @Override
    public void load(String tableName) {
        QueryBuilder queryBuilder = new QueryBuilder();

        try (ResultSet resultSet = sqlDatabaseAdapter.selectAll(getTableNameWithPrefix())) {
            while (resultSet.next()) {
                MyUser user = new MyUser(
                        UUID.fromString(resultSet.getString("uuid")),
                        resultSet.getInt("coins")
                );

                getData().add(user);
            }
        } catch (ExecutionException | InterruptedException | SQLException e) {
            throw new RuntimeException(e);
        }
    }
    
    protected String getTableName(){
        return MyUser.TABLE_NAME;
    }
}
PreviousSQLDatabaseDaoNextSQLDatabaseAdapter

Last updated 8 months ago

💾