后端启动
lamp-boot-server和lamp-boot-sop-server区别
lamp-boot-server不含开放平台功能
为了在【开放运营系统】和【基础平台】访问开放平台相关页面时不报错,所以在lamp-boot-server/pom.xml中保留了这个依赖项,若你确实不需要开放平台任何的功能,完全可以将这个依赖删除。
<dependency> <!-- 开放平台管理端功能 --> <groupId>top.tangyh.lamp</groupId> <artifactId>lamp-sop-admin-controller</artifactId> <version>${lamp-project.version}</version> </dependency>
lamp-boot-sop-server 含有开放平台功能
当你使用单体版的同时,还需要使用【开放平台】的全部功能,你必须启动lamp-boot-sop-server模块下的BootSopServerApplication, 同时还需要提前启动 nacos 和 SopGatewayApplication (开放平台网关)。
修改配置并编译项目
创建数据库:根据你使用的数据库类型,选择创库语句
lamp-datasrouce-max lamp-column-max lamp-cloud # mysql CREATE DATABASE IF NOT EXISTS `lamp_ds_c_defaults` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE DATABASE IF NOT EXISTS `lamp_base_1` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # oracle create user lamp_ds_c_defaults identified by lamp_ds_c_defaults; create user lamp_base_1 identified by lamp_base_1; grant create session,create table,create sequence,create view,resource to lamp_ds_c_defaults; grant create session,create table,create sequence,create view,resource to lamp_base_1; # SQL Server CREATE DATABASE lamp_ds_c_defaults COLLATE Chinese_PRC_CI_AS; CREATE DATABASE lamp_base_1 COLLATE Chinese_PRC_CI_AS;
# mysql CREATE DATABASE IF NOT EXISTS `lamp_column` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # oracle create user lamp_column identified by lamp_column; grant create session,create table,create sequence,create view,resource to lamp_column; # SQL Server CREATE DATABASE lamp_column COLLATE Chinese_PRC_CI_AS;
# mysql CREATE DATABASE IF NOT EXISTS `lamp_none` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # oracle create user lamp_none identified by lamp_none; grant create session,create table,create sequence,create view,resource to lamp_none; # SQL Server CREATE DATABASE lamp_none COLLATE Chinese_PRC_CI_AS;
导入sql脚本
lamp-datasource-max lamp-column-max lamp-cloud 向 lamp_ds_c_defaults 库导入 lamp_ds_c_defaults.sql
向 lamp_base_1 库导入 lamp_base_1.sql
仅Oracle数据库需要执行:向 lamp_ds_c_defaults 库导入 defaults_data.sql
仅Oracle数据库需要执行:向 lamp_ds_c_defaults 库导入 defaults_seq.sql
仅Oracle数据库需要执行:向 lamp_base_1 库导入 base_data.sql
- 向 lamp_column 库导入 lamp_column.sql
- 向 lamp_none 库导入 lamp_none.sql
lamp-datasource-max项目,确保ContextConstants.TENANT_BASE_POOL_NAME_HEADER 跟lamp_base库的前缀一致。
public final class ContextConstants { // "lamp_base" 一定要和 创建base库(CREATE DATABASE lamp_base_1)时 的前缀一致 public static final String TENANT_BASE_POOL_NAME_HEADER = "lamp_base"; }
修改 lamp-boot-server/src/main/resources/config/dev/mysql.yml
lamp-datasource-max lamp-column-max lamp-boot-pro-none lamp: # 修改1:数据库连接基本信息, 三选一!!!三选一!!!不是同时需要三种数据库!!! oracle: &db-oracle db-type: oracle validation-query: SELECT 'x' FROM DUAL filters: stat,wall # druid不支持使用p6spy打印日志,所以采用druid 的 slf4j 过滤器来打印可执行日志 username: 'lamp_column' password: 'lamp_column' driverClassName: oracle.jdbc.driver.OracleDriver url: jdbc:oracle:thin:@172.26.3.67:1521:helowin mysql: &db-mysql db-type: mysql validation-query: SELECT 'x' filters: stat,wall username: 'root' password: 'root' driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/lamp_column?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true sqlserver: &db-sqlserver username: 'sa' password: '1234@abcd' driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://172.26.3.67:1433;DatabaseName=lamp_column db-type: sqlserver validation-query: SELECT 'x' filters: stat,wall init: separator: GO
lamp: # 修改1:数据库连接基本信息, 三选一!!!三选一!!!不是同时需要三种数据库!!! oracle: &db-oracle db-type: oracle validation-query: SELECT 'x' FROM DUAL filters: stat,wall # druid不支持使用p6spy打印日志,所以采用druid 的 slf4j 过滤器来打印可执行日志 username: 'lamp_column' password: 'lamp_column' driverClassName: oracle.jdbc.driver.OracleDriver url: jdbc:oracle:thin:@172.26.3.67:1521:helowin mysql: &db-mysql db-type: mysql validation-query: SELECT 'x' filters: stat,wall username: 'root' password: 'root' driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/lamp_column?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true sqlserver: &db-sqlserver username: 'sa' password: '1234@abcd' driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://172.26.3.67:1433;DatabaseName=lamp_column db-type: sqlserver validation-query: SELECT 'x' filters: stat,wall init: separator: GO
lamp: # 修改1:数据库连接基本信息, 三选一!!!三选一!!!不是同时需要三种数据库!!! oracle: &db-oracle db-type: oracle validation-query: SELECT 'x' FROM DUAL filters: stat,wall # druid不支持使用p6spy打印日志,所以采用druid 的 slf4j 过滤器来打印可执行日志 username: 'lamp_column' password: 'lamp_column' driverClassName: oracle.jdbc.driver.OracleDriver url: jdbc:oracle:thin:@172.26.3.67:1521:helowin mysql: &db-mysql db-type: mysql validation-query: SELECT 'x' filters: stat,wall username: 'root' password: 'root' driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/lamp_column?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true sqlserver: &db-sqlserver username: 'sa' password: '1234@abcd' driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://172.26.3.67:1433;DatabaseName=lamp_column db-type: sqlserver validation-query: SELECT 'x' filters: stat,wall init: separator: GO
提示
密码是纯数字、含有特殊字符、没有密码的, 必须加上单引号。 如:
- 你的密码是:00000,必须写成:'00000'
- 没有密码必须写成:''
lamp: cache: type: REDIS serializerType: jack_son redis: ip: 127.0.0.1 port: 16379 password: 'SbtyMveYNfLzTks7H0apCmyStPzWJqjy' database: 0
修改数据库驱动: 根据使用的数据库,修改 lamp-public/lamp-database-mode/pom.xml 中的驱动依赖
mysql oracle sqlserver <!-- mysql 驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
<!-- Oracle 驱动 --> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> </dependency>
<!-- sqlserver 驱动 --> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> </dependency>
修改常量类 Condition
public class Condition { /** MySQL、SQL Server 数据库的 模糊查询 */ public static final String LIKE = SqlCondition.LIKE; // /** ORACLE 数据库的 模糊查询 */ // public static final String LIKE = SqlCondition.ORACLE_LIKE; }
logging: file: #日志存放的绝对路径 生产环境,建议修改为绝对路径 path: ./logs
编译项目, 参考 项目导入 将 lamp-datasource-max 和 lamp-util-max 同时导入到一个IDEA工作空间, 然后使用 maven 编译项目
注意: 不要将 lamp-datasource-max、 lamp-column-max、 lamp-cloud 等其他项目同时导入一个工作空间。
启动项目
先确保
nacos
、MySQL
、Redis
、Seata
、RabbitMQ
(可选)、等基础服务是否启动成功若你不需要开放平台功能,启动: BootServerApplication
若你需要开放平台功能,需要启动:SopGatewayApplication、BootSopServerApplication
验证是否启动成功
打开项目控制台,看到打印的如图信息说明启动成功。
访问以下地址, 能看到Swagger文档
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。