开发系统内置数据源
系统数据源是在开发中定义,通过直观的界面可直接使用系统内置的数据源,无需在界面中手动输入数据源配置。
默认系统数据源
在开始之前先来了解一下 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();
}
}
开发的代码都写好之后重启项目然后选择系统数据源按钮