## 核心技术
### 底层依赖
- [Mysql] 5.7
- [Jdk] 1.8
### 后端
- [Spring Boot](https://spring.io/projects/spring-boot/): Spring Boot是一款开箱即用框架,让我们的Spring应用变的更轻量化、更快的入门。 在主程序执行main函数就可以运行。你也可以打包你的应用为jar并通过使用java -jar来运行你的Web应用;
- [Mybatis-plus](https://mp.baomidou.com/): MyBatis-plus(简称 MP)是一个 MyBatis (opens new window) 的增强工具。
- [flyway](https://flywaydb.org/): 主要用于在你的应用版本不断升级的同时,升级你的数据库结构和里面的数据
### 前端
- [npm](https://www.npmjs.com/):node.js的包管理工具,用于统一管理我们前端项目中需要用到的包、插件、工具、命令等,便于开发和维护。
- [webpack](https://webpack.docschina.org/):用于现代 JavaScript 应用程序的_静态模块打包工具
- [ES6](https://es6.ruanyifeng.com/):Javascript的新版本,ECMAScript6的简称。利用ES6我们可以简化我们的JS代码,同时利用其提供的强大功能来快速实现JS逻辑。
- [vue-cli](https://cli.vuejs.org/):Vue的脚手架工具,用于自动生成Vue项目的目录及文件。
- [vue-router](https://router.vuejs.org/): Vue提供的前端路由工具,利用其我们实现页面的路由控制,局部刷新及按需加载,构建单页应用,实现前后端分离。
- [vuex](https://vuex.vuejs.org/):Vue提供的状态管理工具,用于统一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象。
- [element-ui](https://element.eleme.cn/#/zh-CN):基于MVVM框架Vue开源出来的一套前端ui组件。
- [avue](https://www.avuejs.com/): 用该组件包裹后可以变成拖拽组件,采用相对于父类绝对定位;用键盘的上下左右也可以控制移
## 开发环境
这里提供我们的开发环境版本进行参考
- [CentOs] 7.5
- [Mysql] 5.7
- [Jdk] 1.8
- [Spring Boot] 2.3.5
- [Mybatis-plus] 3.3.2
- [flyway] 5.2.1
- [Apache Maven] 3.5
- [Node.js] 14.16.0
- [Windows 10]
已知 **Mysql8.0** 和 **Jdk11** 会出现兼容性问题,后续有解决方法将会在下方 **其他** 大类进行补充
## SQL初始化
sql文件的地址是:report-core --> src --> main --> resources -- > db.migration
![sql](../picture/quickly/img_13.png)
系统初始化时flyway会自动的将该目录下的sql文件执行,不需要手动执行sql文件。
执行完将会创建 aj_report(存放系统基础数据) 和 aj_report_init(存放示例数据) 俩个库。