https://github.com/bytechaocai/mybatis-reload
mybatis热更新
https://github.com/bytechaocai/mybatis-reload
hotswap mapping mybatis reload
Last synced: 9 months ago
JSON representation
mybatis热更新
- Host: GitHub
- URL: https://github.com/bytechaocai/mybatis-reload
- Owner: bytechaocai
- License: apache-2.0
- Created: 2024-10-08T15:41:21.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-05-17T17:23:17.000Z (about 1 year ago)
- Last Synced: 2025-08-10T13:54:15.720Z (11 months ago)
- Topics: hotswap, mapping, mybatis, reload
- Language: Java
- Size: 89.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# mybatis热加载
## 使用方式
使用mybatis-reload至少需要引入`core`模块。在javaee容器中启动时(`example/web`),需要创建一个`MyBatisReloadService`类型的bean,然后参考`MyBatisController`来编写加载方法。在springboot中运行时,只需要引入`mybatis-reload-spring-boot-starter`,并添加`mybatis.reload.enable=true`即可,然后就可以使用postman发送请求来加载映射文件了。
在完成上面的步骤后,你可能需要将加载映射的请求路径加到权限验证白名单。
如果你是不能访问互联网的内网用户,你可以将`core`和`example/web`模块的内容抄到项目里,然后使用postman发送请求来加载修改过的映射文件。
## 模块介绍
- core: 核心模块,用来热加载映射文件。
- example: 使用示例:
- springboot: 在springboot中使用,依赖模块mybatis-reload-spring-boot-starter。
- standard-app: 标准应用,只引入mybatis和日志。这个模块里包含最简单的mybatis应用,即一个映射接口和对应的映射文件,以及一个不绑定到接口的映射文件,同时还有一个main方法用来执行映射文件中的接口。这个模块也为example中的其他模块提供映射文件和接口。
- web: 通过创建一个`MyBatisReloadService`类型的bean来使用热加载功能。
- mybatis-reload-spring-boot-starter: springboot starter,目前打包有问题,不能直接执行,需要继续优化。
## 已知问题
1. maven仓库
本项目不会发布到maven仓库,因此你需要拉取项目然后运行`gradlew -Dmaven.repo.local=/local/maven/directory core:publishToMavenLocal`。`maven.repo.local`属性用来定义本地maven仓库。
2. spring-boot-starter
由于我目前对gradle不熟练,因此starter还无法使用,打包时会报错没有主类,希望好心人提pr帮忙解决一下这个问题。
3. 刷新页
将来会在`example/web`模块下新增一个`mybatis-reload.html`提供刷新页面,如果你使用javaee容器启动项目,将该文件复制到`web-content`目录即可。如果使用springboot,复制到`static`目录即可。和之前一样,你可能需要对该文件设置权限校验白名单。