跳至主要內容

后端启动

2023年3月31日大约 6 分钟快速启动快速启动后端启动

提示

因为Seata不支持SQL Server,DATASOURCE模式必须使用Seata,所以DATASOURCE模式也不支持 SQL Server。

修改配置并编译项目

  1. 创建数据库:根据你使用的数据库类型,选择创库语句

    4.9.0 之前的版本租户库是 lamp_ds_c_base_{TenantId},4.10.0开始为了适配Oracle,变更为lamp_base_{TenantId},原因是:Oracle的库、表、字段等长度不能超过30字符。

    # 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;
    
  2. 导入sql脚本open in new window

  3. lamp-boot-pro-datasource-column项目,确保 ContextConstants.TENANT_BASE_POOL_NAME_HEADERopen in new windowlamp_base库的前缀一致。

    public final class ContextConstants {
        // "lamp_base" 一定要和 创建base库(CREATE DATABASE lamp_base_1)时 的前缀一致 
        public static final String TENANT_BASE_POOL_NAME_HEADER = "lamp_base";
    }
    
  4. 修改 application.ymlopen in new windowspring.config.activate.on-profile=dev 部分配置

    提示

    密码是纯数字、含有特殊字符、没有密码的, 必须加上单引号。 如:

    • 你的密码是:00000,必须写成:'00000'
    • 没有密码必须写成:''

    根据您使用的数据库类型,修改修改1、修改2、修改33处内容, 没有贴出来的参数保持默认即可。

    ---   # 配置文件分隔符,在application.yml中,位于下方的配置,会覆盖上方的配置!!!
    # 开发环境使用 相当于 lamp-boot-server-dev.yml
    lamp:
      cache:
        type: REDIS
      redis:
        ip: 127.0.0.1
        port: 16379
        password: SbtyMveYNfLzTks7H0apCmyStPzWJqjy
        database: 0
      rabbitmq:
        enabled: false
        ip: 127.0.0.1
        port: 5672
        username: zuihou
        password: zuihou
      druid-oracle: &druid-oracle-dev
        validation-query: SELECT 'x' FROM DUAL
      druid-mysql: &druid-mysql-dev
        validation-query: SELECT 'x'
      druid-sqlserver: &druid-sqlserver-dev
        validation-query: SELECT 'x'
    
      # 修改1:数据库连接基本信息, 三选一!!!三选一!!!不是同时需要三种数据库!!!
      oracle: &db-oracle-dev
        driverClassName: oracle.jdbc.driver.OracleDriver
        username: 'lamp_ds_c_defaults'
        password: 'lamp_ds_c_defaults'
        url: jdbc:oracle:thin:@172.26.3.67:1521:helowin
      mysql: &db-mysql-dev
        driverClassName: com.mysql.cj.jdbc.Driver
        username: 'root'
        password: 'root'
        url: jdbc:mysql://127.0.0.1:3306/lamp_ds_c_defaults?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true
      sqlserver: &db-sqlserver-dev
        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
        username: 'sa'
        password: '1234@abcd'
        url: jdbc:sqlserver://172.26.3.67:1433;DatabaseName=lamp_ds_c_defaults
        init:
          separator: GO
    
    spring:
      config:
        activate:
          on-profile: dev    
      datasource:
        dynamic:
          druid:
            # 修改2:druid 信息
            <<: *druid-mysql-dev
            #<<: *db-sqlserver-dev  # sql server 使用我
            #<<: *db-oracle-dev      # oracle使用我
          datasource:
            # 修改3: lamp_defaults数据源 锚点链接
            "0":
              <<: *db-mysql-dev        # mysql 使用我
              #<<: *db-sqlserver-dev   # sql server 使用我
              #<<: *db-oracle-dev      # oracle使用我
    






     
     
     
     

     
     
     
     
     









     
     
     
     

     
     
     
     

     
     
     
     
     
     









     
     
     



     
     
     
  5. 修改数据库驱动: 根据使用的数据库,修改 lamp-public/lamp-database-mode/pom.xmlopen in new window 中的驱动依赖

    <!-- mysql 驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    
  6. 修改常量类 Conditionopen in new window

    public class Condition {
      /** MySQL、SQL Server 数据库的 模糊查询 */
      public static final String LIKE = SqlCondition.LIKE;
    	//    /**  ORACLE 数据库的 模糊查询 */
    	//    public static final String LIKE = SqlCondition.ORACLE_LIKE;
    }
    
  7. 修改bootstrap.yml

    • logging.file.path: 日志存放的绝对路径
  8. 编译项目, 参考 项目导入 将 lamp-boot-pro-xxx 和 lamp-util 同时导入到一个IDEA工作空间, 然后使用 maven 编译项目

    注意: 不要将lamp-boot-pro-datasource-column和lamp-cloud-pro-xxx、lamp-boot-pro-xxx等其他项目同时导入一个工作空间。

启动项目

  1. 先确保nacosMySQLRedisSeataRabbitMQ(可选)、等基础服务是否启动成功
  2. 启动: BaseServerApplication

验证是否启动成功

  1. 打开项目控制台,看到打印的如图信息说明启动成功。

  2. 访问以下地址, 能看到Swagger文档

👆🏻👆🏻👆🏻上面是评论区,对系统、本页文档什么疑问,可以在评论区留言。
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。
4.16.0-java17已发布: