后端启动
修改配置并编译项目
创建数据库:根据你使用的数据库类型,选择创库语句
# 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_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: # 修改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 驱动 --> <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
(可选)、等基础服务是否启动成功
验证是否启动成功
打开项目控制台,看到打印的如图信息说明启动成功。
访问以下地址, 能看到Swagger文档
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。