开发系统内置数据源

系统数据源是在开发中定义,通过直观的界面可直接使用系统内置的数据源,无需在界面中手动输入数据源配置。

默认系统数据源

在开始之前先来了解一下 KeepReport 默认系统数据源的配置 ,KeepReport 中有集成 Spring Boot 默认数据源。

如果在 Spring Boot 项目有配置默认数据源并开启 KeepReport 的系统数据源开关则在界面可选择默认系统数据源

1、引入Spring boot的jdbc依赖包,带 HikariCP 数据库连接池(可自己单独引入 HikariCP 的依赖包)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

2、配置 Spring 默认数据源

# 以下为 Spring 默认数据源配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

3、开启 KeepReport 系统数据源开关

# 是否注册 KeepReport 系统默认数据源
keep-report.datasource.enable=true

以上步骤完成后则可选择默认系统数据源

选择系统默认数据源界面

默认数据源

开发自定义系统数据源

开发系统数据源需要实现 JdbcDatasourceProvider 接口(后续支持其他类型的数据源 [API、文件] 等等)

/**
 * @author march
 * @Date: 2024年06月15日
 * Description:
 */
@Component("custom_datasource")
public class CustomSystemDatasource implements JdbcDatasourceProvider {

    private DataSource dataSource;

    @Override
    public Connection connection() {
        Connection connection = null;
        try {
            connection = dataSource.getConnection();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        return connection;
    }

    @Override
    public String name() {
        return "自定义系统数据源";
    }

    @PostConstruct
    public void initDatasource() {
        // 创建数据源
        DataSourceBuilder<?> dataSourceBuilder = DataSourceBuilder.create();
        dataSourceBuilder.driverClassName("com.mysql.jdbc.Driver");
        dataSourceBuilder.url("jdbc:mysql://localhost:3306/report");
        dataSourceBuilder.username("root");
        dataSourceBuilder.password("123456");
        dataSource = dataSourceBuilder.build();
    }
}

开发的代码都写好之后重启项目然后选择系统数据源按钮

点击系统数据源按钮

系统数据源按钮

系统数据源列表弹窗

系统数据源按钮

这样自定义系统数据源的开发就完成了!!!