All Downloads are FREE. Search and download functionalities are using the official Maven repository.

matrix.boot.jdbc.properties.JdbcProperties Maven / Gradle / Ivy

The newest version!
package matrix.boot.jdbc.properties;

import lombok.Data;
import lombok.experimental.Accessors;
import matrix.boot.jdbc.enums.DataSourceType;
import matrix.boot.jdbc.enums.JdbcInitType;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.Serializable;
import java.util.Map;

/**
 * jdbc配置
 *
 * @author WangCheng
 */
@ConfigurationProperties(prefix = "matrix.jdbc")
@Data
@Accessors(chain = true)
public class JdbcProperties implements Serializable {

    /**
     * 是否开启jdbc
     */
    private boolean enabled = false;

    /**
     * 初始化类型,目前支持(Basic, Dynamic, ShardingJdbc)
     *
     * @see matrix.boot.jdbc.enums.JdbcInitType
     */
    private String initType = JdbcInitType.Basic.getCode();

    /**
     * 数据源类型,目前支持(Druid, Hikari)
     *
     * @see matrix.boot.jdbc.enums.DataSourceType
     */
    private String dataSourceType = DataSourceType.DRUID.getCode();

    /**
     * 数据库列表(第一个开启的作为主数据库)
     */
    private Map dbList;

    /**
     * 初始化连接池数量
     */
    private Integer initialPoolSize = 5;

    /**
     * 空闲连接池数量
     */
    private Integer minIdlePoolSize = 10;

    /**
     * 最大激活数量
     */
    private Integer maxActivePoolSize = 20;

    /**
     * 德鲁伊监控配置
     */
    private DruidMonitor druidMonitor;

    /**
     * sharding JDBC规则
     */
    private ShardingProperties sharding;

    /**
     * flyway配置
     */
    private FlywayProperties flyway;

    /**
     * 数据库信息
     */
    @Data
    @Accessors(chain = true)
    public static class DB implements Serializable {

        /**
         * 是否使用该数据库
         */
        private boolean enabled = true;

        /**
         * 数据库驱动(可以自行引入jar包,然后替换)
         */
        private String driverClass = "com.mysql.cj.jdbc.Driver";

        /**
         * 数据库连接信息
         */
        private String url;

        /**
         * 用户名
         */
        private String username;

        /**
         * 密码
         */
        private String password;

        /**
         * 测试查询语句
         */
        private String testQuery = "SELECT 1 FROM DUAL";

        /**
         * flyway配置
         */
        private FlywayProperties flyway;
    }

    /**
     * 德鲁伊监控配置
     */
    @Data
    @Accessors(chain = true)
    public static class DruidMonitor implements Serializable {

        /**
         * 是否开启德鲁伊监控
         */
        private boolean enabled = false;

        /**
         * 德鲁伊路径地址
         */
        private String contextPath = "/druid/*";

        /**
         * 登录用户名
         */
        private String username = "admin";

        /**
         * 登录密码
         */
        private String password = "admin";
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy