public Connection build() throws Exception {
            if (this.host == null || this.host.isEmpty()) {
                throw new RuntimeException("ConnectionFactory 'host' is null or empty");
            }
            if (this.databaseName == null || this.databaseName.isEmpty()) {
                throw new RuntimeException("ConnectionFactory 'dbName' is null or empty");
            }
            if (this.username == null || this.username.isEmpty()) {
                throw new RuntimeException("ConnectionFactory 'username' is null or empty");
            }
            if (this.password == null || this.password.isEmpty()) {
                throw new RuntimeException("ConnectionFactory 'password' is null or empty");
            }

            Class.forName("com.mysql.jdbc.Driver");
            return DriverManager.getConnection("jdbc:mysql://" + this.host + ":" + this.port + "/" + this.databaseName, this.username, this.password);
        }