温馨提示
目前官方全系产品已默认集成 MySQL
数据库,同时支持多种其他数据库驱动,包括:PostgreSQL
、SQL Server
、Sqlite
等,建议本地部署时务必使用 MySQL
数据库脚本部署,本地部署运行起来后有时间再探索使用其他类型的数据库。 软件架构底层采用了基于 MyBatis-Plus
框架,已解决大部分数据库间的差异问题。
因此,只需通过 Navicat
等可视化工具将 MySQL
脚本转换为其他目标数据库的格式即可完成迁移,无需复杂的额外调整。
引言
项目支持多种数据库,如 MySQL
、PostgreSQL
、SQL Server
、Sqlite
等是一个非常重要的功能,尤其是在企业级应用中,数据库的选择往往取决于业务需求、性能要求以及团队的技术栈。
通过简单的配置,开发者可以快速切换和集成不同的数据库,满足不同业务场景的需求。无论是高并发的 Web
应用、数据分析系统,还是企业级 ERP
、EMS
、WMS
、PLM
、APS
等系统,都能提供灵活、高效的数据库支持。
以下是一个详细的文案描述,介绍如何在项目中配置和支持多种数据库,并说明其优势和应用场景。
MySQL
数据库
特点:开源、高性能、易用性强,广泛应用于Web应用和中小型企业系统。
适用场景:高并发Web应用、内容管理系统(CMS)、电商平台等。
优势:
成熟的社区支持和丰富的工具生态。
支持事务、索引、分区等高级功能。
与Spring Boot无缝集成,配置简单。
在 xiaomayi-common
模块的根 pom.xml
配置文件中,添加 postgresql
驱动。
<!-- MySQL 依赖 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
<version>8.3.0</version>
</dependency>
修改数据库连接:
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
温馨提示
- 添加
master
数据库驱动修改库名、账号、密码后,指定参数primary: master
。 - 修改
druid
参数配置validationQuery: SELECT 1
(项目中已默认,无需修改)。
PostgreSQL
数据库
特点:功能强大、支持复杂查询、ACID兼容,适合处理复杂业务逻辑。
适用场景:地理信息系统(GIS)、数据分析、金融系统等。
优势:
支持JSON、XML、数组等复杂数据类型。
强大的扩展性,支持自定义函数和存储过程。
与Spring Boot完美结合,提供高效的ORM支持。
在 xiaomayi-common
模块的根 pom.xml
配置文件中,添加 postgresql
驱动。
<!-- PostgreSql 依赖 -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.7.3</version>
</dependency>
修改数据库连接:
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
温馨提示
- 添加
postgres
数据库驱动修改库名、账号、密码后,指定参数primary: postgres
。 - 修改
druid
参数配置validationQuery: SELECT 1
(项目中已默认,无需修改)。
SQLServer
数据库
特点:由Microsoft开发,适合企业级应用。
适用场景:企业资源计划(ERP)、客户关系管理(CRM)、大数据分析等。
优势:
提供强大的数据仓库功能。
支持分布式事务和高可用性。
在 xiaomayi-common
模块的根 pom.xml
配置文件中,添加 SQL Server
驱动。
<!-- SqlServer 依赖 -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>12.8.0.jre11</version>
</dependency>
修改数据库连接:
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
温馨提示
- 添加
sqlserver
数据库驱动修改库名、账号、密码后,指定参数primary: sqlserver
。 - 修改
druid
参数配置validationQuery: SELECT 1
(项目中已默认,无需修改)。
Sqlite
数据库
特点:轻量级、嵌入式、零配置,适合小型应用和移动端。
适用场景:移动应用、桌面应用、原型开发等。
优势:
无需单独的数据库服务器,数据存储在单个文件中。
配置简单,适合快速开发和测试。
低资源占用,适合资源受限的环境。
在 xiaomayi-common
模块的根 pom.xml
配置文件中,添加 Sqlite
驱动。
<!-- Sqlite 依赖 -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.46.0.1</version>
</dependency>
修改数据库连接:
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
温馨提示
- 添加
sqlite
数据库驱动修改库名、账号、密码后,指定参数primary: sqlite
。 - 修改
druid
参数配置validationQuery: SELECT 1
(项目中已默认,无需修改)。
总结
多数据库支持为开发者提供了极大的灵活性和便利性。无论是轻量级的 SQLite
,还是企业级的 MySQL
、PostgreSQL
、PostgreSQL
、SQL Server
,都可以通过简单的配置快速集成到项目中。这种多数据库支持不仅提升了系统的性能和可扩展性,还为不同业务场景提供了最优的解决方案。让您的应用在数据库层面更加高效、灵活和可靠!