MySQL API | |
---|---|
![]() |
简化的API,帮助您开始使用SQL数据库 |
作 者 | Vagdedes |
发布时间 | 2016年5月29日 |
支持核心 | Spigot | 原生版本 |
支持版本 | 1.7,1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19,1.20 |
插件详细介绍
MySQL API 是一个库插件,旨在简化数据库操作。它将复杂的 SQL 命令替换为易于使用的方法,只需少量参数即可执行查询。
mysql.admin
- 允许使用 /mysql
命令。/mysql reload
/ /mysql rl
- 重载配置文件。/mysql connect
- 连接插件到数据库。/mysql disconnect
- 断开插件与数据库的连接。/mysql reconnect
- 重置插件与数据库的连接。类: me.vagdedes.basic.Config
此类用于控制插件的配置。建议在配置更改后重新连接数据库。
void create() // 创建配置或对象(如果不存在)。
void reload() // 重新加载插件配置。
void clear() // 清除 MySQL 配置文件。
String getHost() // 返回主机名。
String getUser() // 返回用户名。
String getPassword() // 返回密码。
String getDatabase() // 返回数据库名。
String getPort() // 返回端口号。
String getDriver() // 返回驱动程序。
String getTLS() // 返回 TLS 版本。
Boolean getSSL() // 如果启用了 SSL 连接,则返回 "true"。
void setHost(String s) // 更改主机名。
void setUser(String s) // 更改用户名。
void setPassword(String s) // 更改密码。
void setDatabase(String s) // 更改数据库名。
void setPort(String s) // 更改端口号。
void setDriver(String s) // 更改驱动程序。
void setTLS(String s) // 更改 TLS 版本。
void setSSL(Boolean b) // 更改 SSL 连接。
类: me.vagdedes.mysql.MySQL
此类包含 API 的基本方法。update()
和 query()
方法可用于扩展 API 的功能。
void connect() // 连接到数据库。
void disconnect() // 断开与数据库的连接。
void reconnect() // 重新启动与数据库的连接。
Boolean isConnected() // 检查连接是否存在。
void update(String command) // 对数据库执行更新。
ResultSet query(String command) // 从数据库返回查询结果。
Connection getConnection() // 返回当前的 MySQL 连接。
类: me.vagdedes.mysql.SQL
如果 SQL 类的高级方法不足以满足您的需求,您仍然可以使用 MySQL 类的 update()
和 query()
方法创建自己的方法。
void deleteTable(String table) // 从数据库中删除表。
void truncateTable(String table) // 清除数据库中的表。
Integer countRows(String table) // 返回表中的行数。
Boolean tableExists(String table) // 返回数据库中是否存在表。
void set(String selected, Object object, String column, String logic_gate, String data, String table) // 使用您插入的对象更新列的数据。
SQL.set("cooldown", 5, "name", "=", "Player", "basic_table"); // 示例
void set(String selected, Object object, String where_arguments, String table) // 根据多个参数,使用您插入的对象更新列的数据。
SQL.set("cooldown", 5, new String[]{"name=Player", "cooldown=0"}, "basic_table"); // 示例
void deleteData(String column, String logic_gate, String data, String table) // 从表中删除数据。
SQL.deleteData("nickname", "=", "George2009", "ranks"); // 示例
void insertData(String columns, String values, String table) // 将数据插入到表中。
SQL.insertData("name, kit, cooldown", " 'Sam', 'Fisherman', '29' ", "kitpvp"); // 示例
void upsert(String selected, Object object, String column, String data, String table) // 如果存在,则使用您插入的对象更新列的数据;或者,将新行插入到表中。
SQL.upsert("cooldown", 5, "name", "Player", "basic_table"); // 示例
Boolean exists(String column, String data, String table) // 检查特定列中是否存在数据。
Boolean b = SQL.exists("custom_nickname", "&1J&2o&3h&4n", "player_settings"); // 示例
void createTable(String table, String columns) // 如果表不存在,则创建一个新表。
SQL.createTable("ranks", "rank INT (11), join_date TIMESTAMP"); // 示例
Object get(String selected, String column, String logic_gate, String data, String table) // 返回所选列拥有的对象变量。
Object o = SQL.get("kills", "uuid", "!=", "deleted_player", "pvp_stats"); // 示例
Object get(String selected, String[] where_arguments, String table) // 返回所选列拥有的对象变量。
Object o = SQL.get("kills", new String[]{"uuid != deleted_player", "enabled = 1"}, "pvp_stats"); // 示例
ArrayList<Object> listGet(String selected, String column, String logic_gate, String data, String table) // 返回所选列拥有的对象变量。
ArrayList<Object> arrayList = SQL.listGet("kills", "uuid", "!=", "deleted_player", "pvp_stats"); // 示例
for (Object individual : arrayList) {
// Do Stuff
}
ArrayList<Object> listGet(String selected, String[] where_arguments, String table) // 返回所选列拥有的对象变量。
ArrayList<Object> arrayList = SQL.listGet("kills", new String[]{"uuid != deleted_player", "enabled = 1"}, "pvp_stats"); // 示例
for (Object individual : arrayList) {
// Do Stuff
}
要异步处理任务,请使用 Bukkit 库提供的以下方法。
Bukkit.getScheduler().runTaskAsynchronously(pluginObject, () -> {
// implement code here
});