From 181704e5a7497f27ad375a949672a4d829b88323 Mon Sep 17 00:00:00 2001 From: mathias Date: Fri, 25 Dec 2020 03:43:57 +0100 Subject: [PATCH] added sql consumer --- src/main/java/api/SQLConsumer.java | 13 +++++++++++++ src/main/java/drivers/MySQLConnection.java | 17 ++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/java/api/SQLConsumer.java diff --git a/src/main/java/api/SQLConsumer.java b/src/main/java/api/SQLConsumer.java new file mode 100644 index 0000000..1950ec0 --- /dev/null +++ b/src/main/java/api/SQLConsumer.java @@ -0,0 +1,13 @@ +package api; + +import java.sql.SQLException; + +/******************************** + * @author Mathias Wagner + * Created 25.12.2020 + *******************************/ + +@FunctionalInterface +public interface SQLConsumer { + void accept(T t) throws SQLException; +} diff --git a/src/main/java/drivers/MySQLConnection.java b/src/main/java/drivers/MySQLConnection.java index d1dcebf..101cc0a 100755 --- a/src/main/java/drivers/MySQLConnection.java +++ b/src/main/java/drivers/MySQLConnection.java @@ -1,5 +1,6 @@ package drivers; +import api.SQLConsumer; import manager.ResultManager; import manager.DataBaseSelection; import manager.UpdateManager; @@ -168,6 +169,20 @@ public class MySQLConnection { return new ResultManager(getResultSet(query, params), sqlLogManager); } + /** + * Run a action with a result from your server + * @param query Search query + * @param consumer consumer + * @param params Optional parameters + */ + public void getResult(String query, SQLConsumer consumer, Object... params) { + try { + ResultSet resultSet = getResultSet(query, params); + consumer.accept(resultSet); + resultSet.close(); + } catch (Exception ignored) {} + } + /** * Update something on your server by query * @param query Update query @@ -229,7 +244,7 @@ public class MySQLConnection { con = DriverManager.getConnection("jdbc:mysql://" + hostname + "/" + database + connectString, username, password); sqlLogManager.sendInfo("Connection established"); } catch (Exception exception) { - if (exception.getMessage().equals("jdbc.Driver")) + if (exception.getMessage().contains("jdbc.Driver")) sqlLogManager.sendError("MySQL driver not found! Check your dependencies or install the JDBC Mysql Driver from https://dev.mysql.com/downloads/file/?id=498587"); else if (exception.getMessage().contains("has not received any packets")) sqlLogManager.sendError("No packets received from the server."); else if (exception.getMessage().contains("denied for user")) sqlLogManager.sendError("Wrong username/password");