42 lines
1.0 KiB
Java
42 lines
1.0 KiB
Java
package eu.univento.commons.database;
|
|
|
|
import java.sql.ResultSet;
|
|
import java.util.concurrent.ExecutorService;
|
|
import java.util.concurrent.Executors;
|
|
import java.util.function.Consumer;
|
|
|
|
/**
|
|
* @author joethei
|
|
* @version 0.1
|
|
*/
|
|
public class AsyncMySQL {
|
|
|
|
private ExecutorService executor;
|
|
private MySQL sql;
|
|
|
|
public AsyncMySQL(String host, String port, String user, String password, String database) {
|
|
try {
|
|
sql = new MySQL(host, port, user, password, database);
|
|
executor = Executors.newCachedThreadPool();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public void update(String update) {
|
|
executor.execute(() -> sql.query(update));
|
|
}
|
|
|
|
public void query(String query, Consumer<ResultSet> consumer) {
|
|
executor.execute(() -> {
|
|
ResultSet result = null;
|
|
result = sql.query(query);
|
|
ResultSet finalResult = result;
|
|
consumer.accept(finalResult);
|
|
});
|
|
}
|
|
|
|
public MySQL getMySQL() {
|
|
return sql;
|
|
}
|
|
} |