You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.2 KiB

package config;
import org.hibernate.dialect.*;
import java.sql.Driver;
public enum DBType {
mysql5(com.mysql.cj.jdbc.Driver.class, MySQL5Dialect.class),
mysql55(com.mysql.cj.jdbc.Driver.class, MySQL55Dialect.class),
mysql57(com.mysql.cj.jdbc.Driver.class, MySQL57Dialect.class),
mysql8(com.mysql.cj.jdbc.Driver.class, MySQL8Dialect.class);
private Class<? extends Driver> driver;
private Class<? extends Dialect> dialect;
DBType(Class<? extends Driver> driver, Class<? extends Dialect> dialect) {
this.driver = driver;
this.dialect = dialect;
}
public Class<? extends Driver> getDriver() {
return driver;
}
public Class<? extends Dialect> getDialect() {
return dialect;
}
public String getUrl(String host, int port, String name) {
switch (DBType.valueOf(this.name())) {
case mysql5:
case mysql55:
case mysql57:
case mysql8:
return "jdbc:mysql://" + host + ":" + port + "/" + name + "?serverTimezone=GMT%2b8";
default:
throw new RuntimeException("NotFound type:" + this.name());
}
}
}