> 特别说明:源码、JDK、MySQL、Redis等存放路径禁止包含中文、空格、特殊字符等
## 一 环境要求
### 1.1 开发环境
| 类目 | 版本说明或建议 |
|--------|-----------------------------------------------------------------------------------------------------------------|
| 硬件 | 开发电脑建议使用I3及以上CPU,16G及以上内存 |
| 操作系统 | Windows 10/11,MacOS |
| JDK | 默认使用 JDK 21,兼容JDK 8/11、JDK17(需调整部分代码),推荐使用 `OpenJDK`,如 `Liberica JDK`、`Eclipse Temurin`、`Alibaba Dragonwell`、`BiSheng` 等发行版;) |
| Maven | 依赖管理工具,推荐使用 `3.6.3` 及以上版本 |
| Redis | 数据缓存,推荐使用 `5.0` 及以上版本 |
| 数据库 | 兼容 `MySQL 5.7.x/8.x`、`SQLServer 2012+`、`Oracle 11g`、`PostgreSQL 12+`、`达梦数据库(DM8)`、`人大金仓数据库(KingbaseES_V8R6)` |
| IDE | 代码集成开发环境,推荐使用 `IDEA2024` 及以上版本,兼容 `Eclipse`、 `Spring Tool Suite` 等IDE工具 |
### 1.2 运行环境
> 适用于测试或生产环境
| 类目 | 版本说明或建议 |
| --- |-----------------------------------------------------------------------------------------------------------------|
| 服务器配置 | 建议至少在 4C/16G/50G 的机器配置下运行; |
| 操作系统 | 建议使用 `Windows Server 2019` 及以上版本或主流 `Linux` 发行版本,推荐使用 `Linux` 环境;兼容 `统信UOS`,`OpenEuler`,`麒麟服务器版` 等信创环境; |
| JRE | 默认使用JRE 21,兼容JRE 8/11、JRE17(需调整部分代码);推荐使用 `OpenJDK`,如 `Liberica JDK`、`Eclipse Temurin`、`Alibaba Dragonwell`、`BiSheng` 等发行版; |
| Redis | 数据缓存,推荐使用 Redis `5.0` 及以上版本 |
| 数据库 | 兼容 `MySQL 5.7.x/8.x`、`SQLServer 2012+`、`Oracle 11g`、`PostgreSQL 12+`、`达梦数据库(DM8)`、`人大金仓数据库(KingbaseES_V8R6)` |
| 中间件(兼容)) | 东方通 `Tong-web`、金蝶天燕-应用服务器`AAS` v10; |
## 二 关联项目
| 项目 | 分支 | 说明 |
| --- | --- | --- |
| **后端**(任一后端服务) | | |
| jnpf-java-boot | v5.2.x-stable | Java单体后端项目源码 |
| jnpf-java-cloud | v5.2.x-stable | Java微服务后端项目源码 |
| jnpf-dotnet | v5.2.x-stable | .NET单体后端项目源码 |
| jnpf-dotnet-cloud | v5.2.x-stable | .NET微服务后端项目源码 |
| **前端** | | |
| jnpf-web-datareport | v5.2.x-stable | 报表前端项目源码 |
## 三 使用说明
### 3.1 Maven私服配置
> 建议使用 Apache Maven 3.6.3 及以上版本
以解决依赖无法从公共Maven仓库下载的问题
通过官方私服下载依赖完成后,由于IDEA的缓存可能会出现部分报红,重启IDEA即可
打开Maven安装目录中的 `conf/settings.xml` 文件,
在 `` 中添加如下内容
```xml
maven-releases
jnpf-user
HLrQ0MA%S1nE
maven-snapshots
jnpf-user
HLrQ0MA%S1nE
```
在 `` 中添加
```xml
maven-snapshots
*
maven-snapshots
https://repository.jnpfsoft.com/repository/maven-public/
```
### 3.2 环境配置
- 打开 `ureport2-console/src/main/resources` 中的 `application.yml`
- 修改配置
- 端口配置
- `数据库` 配置和 `Redis` 配置
- 是否开启多租户
- 打开 `ureport2-console/src/main/java/com.bstek.ureport.console/DataReportApplication` 运行
### 3.3 数据库配置示例
打开 `ureport2-console/src/main/resources` 中的 `application.yml`
#### MySQL数据库
```yaml
datasource:
db-type: MySQL
host: 127.0.0.1
port: 3306
db-name: jnpf_init
username: dbuser
password: dbpasswd
db-schema:
prepare-url:
```
#### SQLServer数据库
```yaml
datasource:
db-type: SQLServer
host: 127.0.0.1
port: 1433
db-name: jnpf_init
username: dbuser
password: dbpasswd
db-schema:
prepare-url:
```
#### Oracle数据库
```yaml
datasource:
db-type: Oracle
host: 127.0.0.1
port: 1521
db-name:
username: DBUSER
password: dbpasswd
db-schema:
prepare-url: jdbc:oracle:thin:@127.0.0.1:1521:ORCL
```
#### PostgreSQL数据库配置
```yaml
datasource:
db-type: PostgreSQL
host: 127.0.0.1
port: 5432
db-name: jnpf_init
username: dbuser
password: dbpasswd
db-schema: public
prepare-url:
```
#### 达梦dm8数据库
```yaml
datasource:
db-type: DM
host: 127.0.0.1
port: 5236
db-name: JNPF_INIT
username: DBUSER
password: dbpasswd
db-schema:
prepare-url:
tablespace: MAIN
```
#### 人大金仓KingbaseES数据库
```yaml
datasource:
db-type: KingbaseES
host: 127.0.0.1
port: 54321
db-name: jnpf_init
username: dbuser
password: dbpasswd
db-schema:
prepare-url:
tablespace: jnpf
```
### 3.4 数据集条件用法
例子
```sql
${
"select * from base_user where 1=1" +(emptyparam("F_Gender")==true?"":" and F_Gender=:F_Gender") +(emptyparam("F_RealName")==true?"":" and F_RealName like :F_RealName") +(emptyparam("F_QuickQuery")==true?"":" and F_QuickQuery like :F_QuickQuery")
}
```
对应参数填写
参数名 | 数据类型 | 默认值
-----|-------- | -------------
F_RealName | String |
F_QuickQuery | String |
F_Gender | Integer |