package com.sqx.sharding;

import lombok.Data;

/**
 * 用于注入sharding-jdbc的值
 */
@Data
public class ShardingDataBase {

    /**
     * 连接池
     */
    private String type;

    /**
     * 驱动名称
     */
    private String driverClassName;

    /**
     * 数据库地址
     */
    private String jdbcUrl;

    /**
     * 数据库用户名
     */
    private String username;

    /**
     * 数据库密码
     */
    private String password;

    /**
     * 最小空闲连接，默认值10，小于0或大于maximum-pool-size，都会重置为maximum-pool-size
     */
    private int minimumIdle;

    /**
     * 最大连接数，小于等于0会被重置为默认值10；大于零小于1会被重置为minimum-idle的值
     */
    private int maximumPoolSize;

    /**
     * 空闲连接超时时间，默认值600000（10分钟），大于等于max-lifetime且max-lifetime>0，会被重置为0；不等于0且小于10秒，会被重置为10秒。
     */
    private int idleTimeout;

    /**
     * 连接最大存活时间.不等于0且小于30秒，会被重置为默认值30分钟.设置应该比mysql设置的超时时间短
     */
    private int maxLifetime;

    /**
     * 连接超时时间:毫秒，小于250毫秒，否则被重置为默认值30秒
     */
    private int connectionTimeout;

}