Commons/src/main/java/eu/univento/commons/database/AsyncMySQL.java

41 lines
1.0 KiB
Java
Raw Normal View History

2016-08-02 23:53:40 +02:00
package eu.univento.commons.database;
import lombok.Getter;
2016-08-02 23:53:40 +02:00
import java.sql.ResultSet;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.function.Consumer;
/**
* @author joethei
* @version 1.0
2016-08-02 23:53:40 +02:00
*/
public class AsyncMySQL {
private ExecutorService executor;
@Getter
private MySQL mySQL;
2016-08-02 23:53:40 +02:00
public AsyncMySQL(String host, String port, String user, String password, String database) {
try {
mySQL = new MySQL(host, port, user, password, database);
2016-08-02 23:53:40 +02:00
executor = Executors.newCachedThreadPool();
} catch (Exception e) {
e.printStackTrace();
}
}
public void update(String update) {
executor.execute(() -> mySQL.update(update));
2016-08-02 23:53:40 +02:00
}
public void query(String query, Consumer<ResultSet> consumer) {
executor.execute(() -> {
ResultSet result;
result = mySQL.query(query);
2016-08-02 23:53:40 +02:00
ResultSet finalResult = result;
consumer.accept(finalResult);
});
}
}