{"id":20892945,"url":"https://github.com/carmjos/minesql","last_synced_at":"2025-05-12T22:32:12.929Z","repository":{"id":40990863,"uuid":"452268314","full_name":"CarmJos/MineSQL","owner":"CarmJos","description":"EasySQL for MineCraft! 轻松(用)SQL的独立运行库插件，支持多种服务端，适用于MineCraft全版本。","archived":false,"fork":false,"pushed_at":"2025-04-22T17:28:43.000Z","size":975,"stargazers_count":12,"open_issues_count":2,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-22T17:56:10.277Z","etag":null,"topics":["bukkit-library","bukkit-plugin","bungeecord-library","bungeecord-plugin","easysql","h2-database","mariadb","mysql","sponge-library","sql","velocity-library","velocity-plugin"],"latest_commit_sha":null,"homepage":"https://CarmJos.github.io/MineSQL","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CarmJos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["CarmJos"],"custom":["https://donate.carm.cc"]}},"created_at":"2022-01-26T12:33:40.000Z","updated_at":"2025-04-22T17:28:46.000Z","dependencies_parsed_at":"2025-01-20T04:21:00.922Z","dependency_job_id":"07dba720-bfd1-4750-984f-6f2611783812","html_url":"https://github.com/CarmJos/MineSQL","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarmJos%2FMineSQL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarmJos%2FMineSQL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarmJos%2FMineSQL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarmJos%2FMineSQL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CarmJos","download_url":"https://codeload.github.com/CarmJos/MineSQL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253833312,"owners_count":21971397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bukkit-library","bukkit-plugin","bungeecord-library","bungeecord-plugin","easysql","h2-database","mariadb","mysql","sponge-library","sql","velocity-library","velocity-plugin"],"created_at":"2024-11-18T10:14:20.136Z","updated_at":"2025-05-12T22:32:12.584Z","avatar_url":"https://github.com/CarmJos.png","language":"Java","readme":"```text\n   __  ____          ________    __ \n  /  |/  (_)__  ___ / __/ __ \\  / / \n / /|_/ / / _ \\/ -_)\\ \\/ /_/ / / /__\n/_/  /_/_/_//_/\\__/___/\\___\\_\\/____/\n#MineSQL (EasySQL-Plugin)\n```\n\n# MineSQL (EasySQL-Plugin)\n\n[![version](https://img.shields.io/github/v/release/CarmJos/MineSQL)](https://github.com/CarmJos/MineSQL/releases)\n[![License](https://img.shields.io/github/license/CarmJos/MineSQL)](https://opensource.org/licenses/GPL-3.0)\n[![workflow](https://github.com/CarmJos/MineSQL/actions/workflows/maven.yml/badge.svg?branch=master)](https://github.com/CarmJos/MineSQL/actions/workflows/maven.yml)\n![CodeSize](https://img.shields.io/github/languages/code-size/CarmJos/MineSQL)\n[![CodeFactor](https://www.codefactor.io/repository/github/carmjos/minesql/badge)](https://www.codefactor.io/repository/github/carmjos/minesql)\n![](https://visitor-badge.glitch.me/badge?page_id=MineSQL.readme)\n\n轻松(用)SQL的独立运行库插件，支持多种服务端，适用于MineCraft全版本。\n\n## 优势\n\n### 对于服主 (插件使用者)\n\n- 统一配置数据库连接，避免重复配置费时费力分神。\n- 支持更高级更全面的配置方式，以根据不同的使\n  用场景独立优化[连接池配置](https://github.com/Chris2018998/BeeCP/wiki/Configuration--List)。\n- 使相关插件共用连接池，避免每个插件单独新开连接池导致资源的浪费。\n\n### 对于插件开发者\n\n- 基于 [EasySQL](https://github.com/CarmJos/EasySQL) 进行快捷的数据库操作。\n- 通过 `MineSQL.getRegistry().get(database-name)` 快捷获取数据源，避免繁琐的链接过程。\n- 详细的 DEBUG 方法，找到可恶的错误究竟在哪。\n- 不再需要打包各类JDBC-Driver、连接池依赖以及EasySQL本体到插件中。\n\n### 额外提醒\n\n- 使用本依赖时，请保证其他插件的来源安全，避免可能带来的数据安全风险。\n\n## 安装\n\n1. 从 [Releases(发行)](https://github.com/CarmJos/MineSQL/releases/)\n   中点击 [最新版](https://github.com/CarmJos/MineSQL/releases/latest) 下载 `MineSQL-x.y.z.jar` 。\n2. 将下载的 `MineSQL-x.y.z.jar` 放入服务器 `plugins/` 文件夹下。\n3. 启动服务器，预加载配置文件后关闭服务器。\n4. 修改 `plugins/MineSQL/config.yml` 以配置您的数据库选项。\n5. 启动服务器，若配置无误，则您会看到 MineSQL一切正常的提示消息。\n\n## 配置\n\n### 插件配置文件 [`config.yml`](.doc/example-config.yml)\n\n完整示例配置请见 [示例配置文件](.doc/example-config.yml)。\n\n#### MySQL/MariaDB 数据源详细配置示例\n\n```yaml\nsources:\n  \"mysql-database\": # 数据源ID，建议全英文小写并以“-”分隔，例如：hello-minecraft\n    # 数据库驱动类型\n    # 若您的数据库为 mariadb，则强烈推荐设置为 mariadb\n    type: mysql\n    host: 127.0.0.1 # 数据库地址\n    port: 3306 # 数据库端口\n    database: minecraft # 数据库库名\n    username: db-user # 数据库用户名\n    password: 1234567 #数据库连接密码\n```\n\n#### h2 数据源详细配置示例\n\n```yaml\nsources:\n  # h2数据库运行模式\n  # 可选 h2-file(文件模式) 与 h2-mem(内存模式)\n  # 文件模式下，须指定 file路径 ，以服务器运行目录为基准，支持绝对路径和相对路径。\n  # 内存模式下，所有数据库都将存储在内存中，一旦关服则数据将全部丢失，该模式一般用于测试\n  \"h2-file-db\": # 数据源ID，建议全小写以“-”分隔，例如：hello-minecraft\n    type: h2-file\n    file-path: \"db-files/minecraft\"\n  \"h2-mem-db\": # 数据源ID，建议全小写以“-”分隔，例如：hello-minecraft\n    type: h2-mem\n```\n\n### Properties 配置文件 [`\u003c插件目录\u003e/db-properties/*.properties`](core/src/main/resources/db-properties/.example-mysql.properties)\n\n示例配置请见 [示例MySQL数据源Properties](core/src/main/resources/db-properties/.example-mysql.properties)。\n\nProperties 文件的文件名几位数据源的ID，允许为英文、数字、下划线、短横线；请不要包含中文、其他特殊符号与空格，以`.`开头的文件将被忽略。\n\n该功能一般用于专业开发者使用，若您不了解该功能，请尽量使用config.yml中提供的配置方式，简单便捷，能够满足大多数需求。\n\n更多帮助详见 [BeeCP项目帮助](https://github.com/Chris2018998/BeeCP) 。\n\n## 指令\n\n插件主指令为 `/minesql` ，所有指令只允许后台执行。\n\n```text\n# help\n- 查看插件指令帮助。\n\n# version\n- 查看当前插件、核心库(EasySQL)与连接池依赖版本。\n\n# list\n- 列出当前所有的数据源管理器与相关信息。\n\n# info \u003c数据源名称\u003e\n- 查看指定数据源的统计信息与当前仍未关闭的查询。\n```\n\n## 开发\n\n### 依赖方式\n\n\u003cdetails\u003e\n\u003csummary\u003e展开查看 Maven 依赖方式\u003c/summary\u003e\n\n```xml\n\n\u003cproject\u003e\n    \u003crepositories\u003e\n\n        \u003crepository\u003e\n            \u003c!--采用Maven中心库，安全稳定，但版本更新需要等待同步--\u003e\n            \u003cid\u003emaven\u003c/id\u003e\n            \u003cname\u003eMaven Central\u003c/name\u003e\n            \u003curl\u003ehttps://repo1.maven.org/maven2\u003c/url\u003e\n        \u003c/repository\u003e\n\n        \u003crepository\u003e\n            \u003c!--采用github分支依赖库，稳定更新快--\u003e\n            \u003cid\u003eMineSQL\u003c/id\u003e\n            \u003cname\u003eGitHub Branch Repository\u003c/name\u003e\n            \u003curl\u003ehttps://raw.githubusercontent.com/CarmJos/MineSQL/repo/\u003c/url\u003e\n        \u003c/repository\u003e\n\n        \u003crepository\u003e\n            \u003c!--采用我的私人依赖库，简单方便，但可能因为变故而无法使用--\u003e\n            \u003cid\u003ecarm-repo\u003c/id\u003e\n            \u003cname\u003eCarm's Repo\u003c/name\u003e\n            \u003curl\u003ehttps://repo.carm.cc/repository/maven-public/\u003c/url\u003e\n        \u003c/repository\u003e\n\n    \u003c/repositories\u003e\n\n    \u003cdependencies\u003e\n\n        \u003cdependency\u003e\n            \u003cgroupId\u003ecc.carm.plugin\u003c/groupId\u003e\n            \u003cartifactId\u003eminesql-api\u003c/artifactId\u003e\n            \u003cversion\u003e[LATEST RELEASE]\u003c/version\u003e\n            \u003cscope\u003eprovided\u003c/scope\u003e\n        \u003c/dependency\u003e\n\n    \u003c/dependencies\u003e\n\u003c/project\u003e\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e展开查看 Gradle 依赖方式\u003c/summary\u003e\n\n```groovy\nrepositories {\n\n    //采用Maven中心库，安全稳定，但版本更新需要等待同步\n    mavenCentral()\n\n    // 采用github分支依赖库，稳定更新快\n    maven { url 'https://raw.githubusercontent.com/CarmJos/MineSQL/repo/' }\n\n    // 采用我的私人依赖库，简单方便，但可能因为变故而无法使用\n    maven { url 'https://repo.carm.cc/repository/maven-public/' }\n}\n\ndependencies {\n    compileOnly \"cc.carm.plugin:minesql-api:[LATEST RELEASE]\"\n}\n```\n\n\u003c/details\u003e\n\n### 操作示例\n\n本插件接口入口类为 `MineSQL` ，更多方法详见 [MineSQL-Javadoc](https://carmjos.github.io/MineSQL/) 。\n\n关于 EasySQL的使用方法，请详见 [EasySQL开发文档](https://github.com/CarmJos/EasySQL/tree/master/.documentation) 。\n\n\n\u003cdetails\u003e\n  \u003csummary\u003e点击查看简单实例\u003c/summary\u003e\n\n```java\n\npublic class Main extends JavaPlugin {\n\n    @Override\n    public void onEnable() {\n\n        SQLManager manager = MineSQL.getRegistery().get(getConfig().getString(\"database\"));\n\n        if (manager == null) {\n            System.out.println(\"请配置一个正确的数据库名。\");\n            setEnabled(false);\n            return;\n        }\n\n        // do something...\n      \n    }\n\n}\n\n```\n\n\u003c/details\u003e \n\n## 开源协议\n\n本项目源码采用 [GNU General Public License v3.0](https://opensource.org/licenses/GPL-3.0) 开源协议。\n\n\u003cdetails\u003e\n  \u003csummary\u003e关于 GPL 协议\u003c/summary\u003e\n\n\u003e GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利，同时为使用者提供了足够的复制，分发，修改的权利：\n\u003e\n\u003e #### 可自由复制\n\u003e 你可以将软件复制到你的电脑，你客户的电脑，或者任何地方。复制份数没有任何限制。\n\u003e #### 可自由分发\n\u003e 在你的网站提供下载，拷贝到U盘送人，或者将源代码打印出来从窗户扔出去（环保起见，请别这样做）。\n\u003e #### 可以用来盈利\n\u003e 你可以在分发软件的时候收费，但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议，以便让他们知道，他们可以从别的渠道免费得到这份软件，以及你收费的理由。\n\u003e #### 可自由修改\n\u003e 如果你想添加或删除某个功能，没问题，如果你想在别的项目中使用部分代码，也没问题，唯一的要求是，使用了这段代码的项目也必须使用\n\u003e GPL 协议。\n\u003e\n\u003e 需要注意的是，分发的时候，需要明确提供源代码和二进制文件，另外，用于某些程序的某些协议有一些问题和限制，你可以看一下\n\u003e @PierreJoye 写的 Practical Guide to GPL Compliance 一文。使用 GPL 协议，你必须在源代码代码中包含相应信息，以及协议本身。\n\u003e\n\u003e *以上文字来自 [五种开源协议GPL,LGPL,BSD,MIT,Apache](https://www.oschina.net/question/54100_9455) 。*\n\u003c/details\u003e \n","funding_links":["https://github.com/sponsors/CarmJos","https://donate.carm.cc"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarmjos%2Fminesql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarmjos%2Fminesql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarmjos%2Fminesql/lists"}