cssxsh / mirai-hibernate-plugin

Mirai Console Hibernate/ORM 数据库前置插件
GNU Affero General Public License v3.0
31 stars 1 forks source link
hibernate mirai mirai-console orm

Mirai Hibernate Plugin

Mirai Hibernate 前置插件

Mirai Console 的前置插件,用于 Hibernate ORM 框架的初始化

maven-central Database Test Codacy Badge

插件自带聊天记录器 MiraiHibernateRecorder,
会记录 群聊/私聊 的内容到数据库方便其他插件使用,默认是 h2database 数据库(since 2.2.0+)

每个插件都有应有独立的数据库配置在其配置文件目录 config/.../hibernate.properties
例如,聊天记录器数据库配置在 config/xyz.cssxsh.mirai.plugin.mirai-hibernate-plugin/hibernate.properties

数据库支持

本插件打包了以下版本的数据库驱动和连接池

需要其他数据库驱动或连接池支持,请添加 plugin-shared-libraries 依赖,有2种方法

  1. Jar包 放到 plugin-shared-libraries 目录中一同被 mirai-console 加载

  2. plugin-shared-libraries/libraries.txt 中添加 maven 引用,
    例如 com.oracle.database.jdbc:ojdbc11:21.8.0.0

在 Mirai Console Plugin 项目中引用

repositories {
    mavenCentral()
}

dependencies {
    compileOnly("xyz.cssxsh.mirai:mirai-hibernate-plugin:${version}")
}

// hibernate 6 和 HikariCP 5 需要 jdk11
mirai {
    jvmTarget = JavaVersion.VERSION_11
}

在 Mirai Core Jvm 项目中引用

repositories {
    mavenCentral()
}

dependencies {
    implementation("xyz.cssxsh.mirai:mirai-hibernate-plugin:${version}")
}

需要手动对 xyz.cssxsh.mirai.hibernate.factory 进行初始化,和对 MiraiHibernateRecorder 进行注册

Maven 项目请根据上面的 maven-central 指向的链接查询相关配置方法

在 mirai-api-http 中引用

使用本插件作为 mirai-api-http 的消息源需要额外的拓展插件 https://github.com/cssxsh/mirai-hibernate-http

一些方法和类说明

示例代码

安装

MCL 指令安装

请确认 mcl.jar 的版本是 2.1.0+
./mcl --update-package xyz.cssxsh.mirai:mirai-hibernate-plugin --channel maven-stable --type plugins

手动安装

  1. Releases 或者 Maven 下载 mirai2.jar
  2. 将其放入 plugins 文件夹中

聊天数据迁移

  1. 将原 config/xyz.cssxsh.mirai.plugin.mirai-hibernate-plugin/hibernate.properties 改名备份为 hibernate.backup.properties
  2. 按照 example 中的例子写一份新的 hibernate.properties
  3. 重启 mirai-console

爱发电

afdian