SQLiteLib

SQLiteLib - 轻松数据库管理

这个库能让使用SQLite变得超级简单!告别那些YML文件,改用SQLite吧!
Bukkit / Spigot 作者 pablo67340 支持版本 1.7 - 1.12
服务器使用量
未统计
服务玩家数
未统计
下载量
4,564
插件详细介绍

如需支持,请访问:https://discord.gg/DpNFSQu

SQLiteLib 是一个旨在简化 Minecraft 插件开发中 SQLite 数据库操作的库。它源于作者在 Spigot 上发布的 SQLite 教程,许多开发者反馈原代码难以理解或使用。因此,SQLiteLib 应运而生,为开发者提供了创建数据库、执行查询和操作数据的全套基础工具,并且支持在游戏内直接使用命令进行操作。

主要功能

  • 创建数据库:轻松初始化和管理 SQLite 数据库。
  • 查询单一值:从数据库中检索单个数据点。
  • 查询列表值:获取某一行的多个值作为列表。
  • 查询映射表:获取多行数据,并以映射(Map)形式组织。
  • 执行 SQL 语句:支持执行任何自定义的 SQL 语句。
  • 游戏内命令:无需重启服务器,即可通过命令直接操作数据库。

命令

  • /sqlite/sl - 基础命令。
  • /sl execute {database} {statement} - 在指定数据库上执行一条 SQL 语句。
  • /sl init {database} {initial_statement} - 创建/初始化数据库。
  • /sl queryvalue {database} {row} {statement} - 查询并打印单个值。
  • /sl queryRow {database} {row} {statement} - 查询并打印指定行的所有值。

权限

  • sqlite.use - 允许使用 SQLiteLib 的所有命令。

数据存储

所有数据库文件都存储在插件目录下的 SQLiteLib 文件夹中。你可以在此手动编辑或删除数据库文件。

支持与建议

如果你有任何建议、发现了错误,或者需要帮助

  • 请在资源的讨论区发帖。
  • 也可以加入 Discord 服务器获取即时支持:https://discord.gg/DpNFSQu

接入 SQLiteLib

  • 下载 SQLiteLib 的 JAR 文件。
  • 将其添加到你的项目构建路径中。
  • 在你的主插件类中,通过以下代码接入库:
public SQLiteLib sqlLib;
@Override
public void onEnable() {
    sqlLib = SQLiteLib.hookSQLiteLib();
}

初始化数据库

接入后,首先需要初始化数据库。这是使用其他所有功能的前提。

sqlLib.initializeDatabase("database_name", "CREATE TABLE IF NOT EXISTS table_name");
  • 参数说明
- `database_name`:数据库名称。
- `initial_statement`:初始化 SQL 语句,通常用于创建表结构。

1.3 版本新增:你可以指定插件实例,以确保数据库文件创建在正确的插件目录下。

sqlLib.initializeDatabase(pluginInstance, "database_name", "CREATE TABLE IF NOT EXISTS table_name");

此方法在数据库不存在时会创建它,存在时则直接加载。请确保在插件需要数据库时运行此代码。

执行 SQL 语句

此方法允许你执行任何 SQL 语句,提供了最大的灵活性。

if (sqlLib.getDatabase("name").executeStatement("statement")){
    // 语句执行成功
} else {
    // 执行失败
}

查询单一值

用于从查询结果中获取一个特定的值。返回值为 Object 类型,需要根据实际情况进行类型转换。

String testValue = (String) sqlLib.getDatabase("test").queryValue("statement", "row");

示例

假设有一个简单的 test.db 数据库,表结构如下:

| ID |
|----|
| 1  |
| 2  |
| 3  |

查询 ID 为 1 的记录

String test = (String) sqlLib.getDatabase("test").queryValue("SELECT * FROM test WHERE id = 1", "ID");

注意:应尽量让查询语句只返回一个值,而不是一个列表。

查询行数据

此方法返回一个 List<Object>,包含指定行(列)的所有值。

List<Object> results = sqlLib.getDatabase("test").queryRow("SELECT * FROM test", "ID");
for (Object obj : results){
    String ID = (String)obj;
    System.out.println("ID: " + ID);
}

查询多行映射数据

此方法返回一个 Map<String, List<Object>>,其中键是行(列)名,值是该列下所有数据的列表。

Map<String, List<Object>> rows = sqlLib.getDatabase("test").queryMultipleRows("SELECT * FROM test", "row1", "row2", "row3");
String ID = (String) rows.get("row1").get(0); // 获取 row1 列的第一个值

获取帮助

如需更多帮助,请随时加入 Discord 服务器:https://discord.gg/DpNFSQu

测试支持版本
1.7 1.8 1.9 1.10 1.11 1.12
版本分布
基本信息
插件名称 SQLiteLib
作者 pablo67340
平台 Bukkit / Spigot
支持版本 1.7 - 1.12
点赞数 1
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:2,600,261  |  历史访问人次:3,153,085

今日访问人数:20,968  |  今日访问人次:22,706

昨日访问人数:24,332  |  昨日访问人次:29,698

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6