Skip to content

温馨提示

目前官方全系产品已默认集成 MySQL 数据库,同时支持多种其他数据库驱动,包括:PostgreSQLSQL ServerSqlite 等,建议本地部署时务必使用 MySQL 数据库脚本部署,本地部署运行起来后有时间再探索使用其他类型的数据库。 软件架构底层采用了基于 MyBatis-Plus 框架,已解决大部分数据库间的差异问题。

因此,只需通过 Navicat 等可视化工具将 MySQL 脚本转换为其他目标数据库的格式即可完成迁移,无需复杂的额外调整。

引言

项目支持多种数据库,如 MySQLPostgreSQLSQL ServerSqlite 等是一个非常重要的功能,尤其是在企业级应用中,数据库的选择往往取决于业务需求、性能要求以及团队的技术栈。

通过简单的配置,开发者可以快速切换和集成不同的数据库,满足不同业务场景的需求。无论是高并发的 Web 应用、数据分析系统,还是企业级 ERPEMSWMSPLMAPS 等系统,都能提供灵活、高效的数据库支持。

以下是一个详细的文案描述,介绍如何在项目中配置和支持多种数据库,并说明其优势和应用场景。

MySQL 数据库

特点:开源、高性能、易用性强,广泛应用于Web应用和中小型企业系统。
适用场景:高并发Web应用、内容管理系统(CMS)、电商平台等。
优势:
    成熟的社区支持和丰富的工具生态。
    支持事务、索引、分区等高级功能。
    与Spring Boot无缝集成,配置简单。

xiaomayi-common 模块的根 pom.xml 配置文件中,添加 postgresql 驱动。

js
<!-- MySQL 依赖 -->
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
    <version>8.3.0</version>
</dependency>

修改数据库连接:

js
spring:
  # 数据源配置
  datasource:
    # 连接池类型
    type: com.alibaba.druid.pool.DruidDataSource
    dynamic:
      # 设置默认的数据源或者数据源组,默认值为master
      primary: master
      # 严格匹配数据源,默认false,true未匹配到指定数据源时抛异常,false使用默认数据源
      strict: false
      # 多数据源支持,切记实际使用时按需使用,不需要的数据源注释掉
      datasource:
        # 主数据库MySQL
        master:
          driverClassName: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://localhost:3306/xiaomayi.elevue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
          username: root
          password: root

温馨提示

  1. 添加 master 数据库驱动修改库名、账号、密码后,指定参数 primary: master
  2. 修改 druid 参数配置 validationQuery: SELECT 1 (项目中已默认,无需修改)。

PostgreSQL 数据库

特点:功能强大、支持复杂查询、ACID兼容,适合处理复杂业务逻辑。
适用场景:地理信息系统(GIS)、数据分析、金融系统等。
优势:
    支持JSON、XML、数组等复杂数据类型。
    强大的扩展性,支持自定义函数和存储过程。
    与Spring Boot完美结合,提供高效的ORM支持。

xiaomayi-common 模块的根 pom.xml 配置文件中,添加 postgresql 驱动。

js
<!-- PostgreSql 依赖 -->
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.7.3</version>
</dependency>

修改数据库连接:

js
spring:
  # 数据源配置
  datasource:
    # 连接池类型
    type: com.alibaba.druid.pool.DruidDataSource
    dynamic:
      # 设置默认的数据源或者数据源组,默认值为master
      primary: postgres
      # 严格匹配数据源,默认false,true未匹配到指定数据源时抛异常,false使用默认数据源
      strict: false
      # 多数据源支持,切记实际使用时按需使用,不需要的数据源注释掉
      datasource:
        # 数据库PG
        postgres:
          enabled: false
          driverClassName: org.postgresql.Driver
          url: jdbc:postgresql://localhost:5432/xiaomayi.elevue?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
          username: postgres
          password: 123456

温馨提示

  1. 添加 postgres 数据库驱动修改库名、账号、密码后,指定参数 primary: postgres
  2. 修改 druid 参数配置 validationQuery: SELECT 1 (项目中已默认,无需修改)。

SQLServer 数据库

特点:由Microsoft开发,适合企业级应用。
适用场景:企业资源计划(ERP)、客户关系管理(CRM)、大数据分析等。
优势:
    提供强大的数据仓库功能。
    支持分布式事务和高可用性。

xiaomayi-common 模块的根 pom.xml 配置文件中,添加 SQL Server 驱动。

js
<!-- SqlServer 依赖 -->
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>12.8.0.jre11</version>
</dependency>

修改数据库连接:

js
spring
  # 数据源配置
  datasource:
    # 连接池类型
    type: com.alibaba.druid.pool.DruidDataSource
    dynamic:
      # 设置默认的数据源或者数据源组,默认值为master
      primary: sqlserver
      # 严格匹配数据源,默认false,true未匹配到指定数据源时抛异常,false使用默认数据源
      strict: false
      # 多数据源支持,切记实际使用时按需使用,不需要的数据源注释掉
      datasource:
        # 数据库MSSQL
        sqlserver:
          enabled: false
          driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
          url: jdbc:sqlserver://localhost:1433;DatabaseName=xiaomayi.elevue;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
          username: sa
          password: 123456

温馨提示

  1. 添加 sqlserver 数据库驱动修改库名、账号、密码后,指定参数 primary: sqlserver
  2. 修改 druid 参数配置 validationQuery: SELECT 1 (项目中已默认,无需修改)。

Sqlite 数据库

特点:轻量级、嵌入式、零配置,适合小型应用和移动端。
适用场景:移动应用、桌面应用、原型开发等。
优势:
    无需单独的数据库服务器,数据存储在单个文件中。
    配置简单,适合快速开发和测试。
    低资源占用,适合资源受限的环境。

xiaomayi-common 模块的根 pom.xml 配置文件中,添加 Sqlite 驱动。

js
<!-- Sqlite 依赖 -->
<dependency>
    <groupId>org.xerial</groupId>
    <artifactId>sqlite-jdbc</artifactId>
    <version>3.46.0.1</version>
</dependency>

修改数据库连接:

js
spring:
  # 数据源配置
  datasource:
    # 连接池类型
    type: com.alibaba.druid.pool.DruidDataSource
    dynamic:
      # 设置默认的数据源或者数据源组,默认值为master
      primary: sqlite
      # 严格匹配数据源,默认false,true未匹配到指定数据源时抛异常,false使用默认数据源
      strict: false
      # 多数据源支持,切记实际使用时按需使用,不需要的数据源注释掉
      datasource:
        # 数据库Sqlite
        sqlite:
          enabled: false
          driverClassName: org.sqlite.JDBC
          url: jdbc:sqlite:E:/sqlite/sqlite/db/demo.db?date_string_format=yyyy-MM-dd HH:mm:ss
          username: root
          password: 123456

温馨提示

  1. 添加 sqlite 数据库驱动修改库名、账号、密码后,指定参数 primary: sqlite
  2. 修改 druid 参数配置 validationQuery: SELECT 1 (项目中已默认,无需修改)。

总结

多数据库支持为开发者提供了极大的灵活性和便利性。无论是轻量级的 SQLite,还是企业级的 MySQLPostgreSQLPostgreSQLSQL Server,都可以通过简单的配置快速集成到项目中。这种多数据库支持不仅提升了系统的性能和可扩展性,还为不同业务场景提供了最优的解决方案。让您的应用在数据库层面更加高效、灵活和可靠!

小蚂蚁云团队 · 提供技术支持

小蚂蚁云 新品首发
新品首发,限时特惠,抢购从速! 全场95折
赋能开发者,助理企业发展,提供全方位数据中台解决方案。
获取官方授权