diff options
Diffstat (limited to 'src/main/java/com/redstoner/misc/mysql/elements')
6 files changed, 128 insertions, 148 deletions
diff --git a/src/main/java/com/redstoner/misc/mysql/elements/ConstraintOperator.java b/src/main/java/com/redstoner/misc/mysql/elements/ConstraintOperator.java index 45cb33c..1e8d523 100644 --- a/src/main/java/com/redstoner/misc/mysql/elements/ConstraintOperator.java +++ b/src/main/java/com/redstoner/misc/mysql/elements/ConstraintOperator.java @@ -2,7 +2,7 @@ package com.redstoner.misc.mysql.elements; public enum ConstraintOperator { LESS_THAN, GREATER_THAN, EQUAL, NOT_EQUAL, LESS_THAN_OR_EQUAL, GREATER_THAN_OR_EQUAL; - + public String toString() { switch (this) { case LESS_THAN: diff --git a/src/main/java/com/redstoner/misc/mysql/elements/MysqlConstraint.java b/src/main/java/com/redstoner/misc/mysql/elements/MysqlConstraint.java index d651344..8b99d12 100644 --- a/src/main/java/com/redstoner/misc/mysql/elements/MysqlConstraint.java +++ b/src/main/java/com/redstoner/misc/mysql/elements/MysqlConstraint.java @@ -3,7 +3,7 @@ package com.redstoner.misc.mysql.elements; public class MysqlConstraint { private String fieldName, value; private ConstraintOperator operator; - + public MysqlConstraint(String fieldName, ConstraintOperator operator, String value) { this.fieldName = fieldName; this.operator = operator; diff --git a/src/main/java/com/redstoner/misc/mysql/elements/MysqlDatabase.java b/src/main/java/com/redstoner/misc/mysql/elements/MysqlDatabase.java index 91c0fe4..3f1c288 100644 --- a/src/main/java/com/redstoner/misc/mysql/elements/MysqlDatabase.java +++ b/src/main/java/com/redstoner/misc/mysql/elements/MysqlDatabase.java @@ -1,5 +1,7 @@ package com.redstoner.misc.mysql.elements; +import com.redstoner.misc.mysql.MysqlQueryHandler; + import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; @@ -7,84 +9,82 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import com.redstoner.misc.mysql.MysqlQueryHandler; - public class MysqlDatabase { private Connection connection; - + public MysqlDatabase(Connection connection) { this.connection = connection; } - - public String getName() { - try { - return connection.getCatalog(); - } catch (SQLException e) { - e.printStackTrace(); - return null; - } - } - + public MysqlTable getTable(String name) { return new MysqlTable(this, name); } - + public boolean createTable(String name, MysqlField... description) { return MysqlQueryHandler.queryNoResult(connection, "CREATE TABLE `" + name + "` " + getDescription(description) + ";"); } - + + private String getDescription(MysqlField... description) { + String desc = "("; + + for (int i = 0; i < description.length; i++) { + String nil = ""; + + if (description[i].canBeNull()) { + nil = " NOT NULL"; + } + + desc += "`" + description[i].getName() + "` " + description[i].getType().getName() + nil; + + if (i < description.length - 1) { + desc += ","; + } + } + + desc += ")"; + + return desc; + } + public boolean createTableIfNotExists(String name, MysqlField... description) { return MysqlQueryHandler.queryNoResult(connection, "CREATE TABLE IF NOT EXISTS `" + name + "` " + getDescription(description) + ";"); } - + public boolean dropTable(String name) { return MysqlQueryHandler.queryNoResult(connection, "DROP TABLE `" + name + "`;"); } - + public boolean drop() { return MysqlQueryHandler.queryNoResult(connection, "DROP DATABASE `" + getName() + "`;"); } - + + public String getName() { + try { + return connection.getCatalog(); + } catch (SQLException e) { + e.printStackTrace(); + return null; + } + } + public List<MysqlTable> getTables() { try { - List<MysqlTable> tables = new ArrayList<>(); - DatabaseMetaData metadata = connection.getMetaData(); - ResultSet queryResults = metadata.getTables(null, null, "%", null); - + List<MysqlTable> tables = new ArrayList<>(); + DatabaseMetaData metadata = connection.getMetaData(); + ResultSet queryResults = metadata.getTables(null, null, "%", null); + while (queryResults.next()) { tables.add(new MysqlTable(this, queryResults.getString(3))); } - + return tables; } catch (SQLException e) { e.printStackTrace(); return null; } } - + protected Connection getConnection() { return connection; } - - private String getDescription(MysqlField... description) { - String desc = "("; - - for (int i = 0; i < description.length; i++) { - String nil = ""; - - if (description[i].canBeNull()) { - nil = " NOT NULL"; - } - - desc += "`" + description[i].getName() + "` " + description[i].getType().getName() + nil; - - if (i < description.length - 1) { - desc += ","; - } - } - - desc += ")"; - - return desc; - } } diff --git a/src/main/java/com/redstoner/misc/mysql/elements/MysqlField.java b/src/main/java/com/redstoner/misc/mysql/elements/MysqlField.java index 61cba2e..68b6fcc 100644 --- a/src/main/java/com/redstoner/misc/mysql/elements/MysqlField.java +++ b/src/main/java/com/redstoner/misc/mysql/elements/MysqlField.java @@ -3,30 +3,30 @@ package com.redstoner.misc.mysql.elements; import com.redstoner.misc.mysql.types.MysqlType; public class MysqlField { - private String name; + private String name; private MysqlType type; - private boolean canBeNull; - + private boolean canBeNull; + public MysqlField(String name, MysqlType type, boolean canBeNull) { this.name = name; this.type = type; this.canBeNull = canBeNull; } - + public MysqlField(String name, String type, boolean canBeNull) { this.name = name; this.type = MysqlType.getTypeFromString(type); this.canBeNull = canBeNull; } - + public String getName() { return name; } - + public MysqlType getType() { return type; } - + public boolean canBeNull() { return canBeNull; } diff --git a/src/main/java/com/redstoner/misc/mysql/elements/MysqlResult.java b/src/main/java/com/redstoner/misc/mysql/elements/MysqlResult.java index 6db0769..1b4f246 100644 --- a/src/main/java/com/redstoner/misc/mysql/elements/MysqlResult.java +++ b/src/main/java/com/redstoner/misc/mysql/elements/MysqlResult.java @@ -5,11 +5,11 @@ import java.sql.SQLException; public class MysqlResult { private ResultSet results; - + public MysqlResult(ResultSet results) { this.results = results; } - + public Object getObject(int columnIndex, Class<?> type) throws SQLException { return results.getObject(columnIndex, type); } diff --git a/src/main/java/com/redstoner/misc/mysql/elements/MysqlTable.java b/src/main/java/com/redstoner/misc/mysql/elements/MysqlTable.java index 6656fcd..e6a7617 100644 --- a/src/main/java/com/redstoner/misc/mysql/elements/MysqlTable.java +++ b/src/main/java/com/redstoner/misc/mysql/elements/MysqlTable.java @@ -1,133 +1,113 @@ package com.redstoner.misc.mysql.elements; +import com.redstoner.misc.mysql.MysqlQueryHandler; + import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; -import com.redstoner.misc.mysql.MysqlQueryHandler; - -public class MysqlTable -{ +public class MysqlTable { private MysqlDatabase database; - private String name; - - public MysqlTable(MysqlDatabase database, String name) - { + private String name; + + public MysqlTable(MysqlDatabase database, String name) { this.database = database; this.name = name; } - - public String getName() - { + + public String getName() { return this.name; } - - public MysqlField[] describe() - { - try - { - List<MysqlField> description = new ArrayList<>(); - DatabaseMetaData metadata = database.getConnection().getMetaData(); - ResultSet queryResults = metadata.getColumns(null, null, name, null); - while (queryResults.next()) - { - description.add(new MysqlField(queryResults.getString(4), - queryResults.getString(6).split(" ")[0] + "(" + queryResults.getString(7) + ")", - queryResults.getBoolean(11))); - } - return description.toArray(new MysqlField[0]); - } - catch (SQLException e) - { - e.printStackTrace(); - return null; - } - } - - public boolean insert(String... values) - { + + public boolean insert(String... values) { MysqlField[] description = describe(); - if (values.length > 0 && values.length == description.length) - { + if (values.length > 0 && values.length == description.length) { String val = "(\"" + String.join("\",\"", values) + "\")"; - return MysqlQueryHandler.queryNoResult(database.getConnection(), - "INSERT INTO `" + name + "` VALUES " + val + ";"); - } - else - { + return MysqlQueryHandler.queryNoResult( + database.getConnection(), + "INSERT INTO `" + name + "` VALUES " + val + ";" + ); + } else { return false; } } - - public Object[] get(String fieldName, MysqlConstraint... constraints) - { - ResultSet results = MysqlQueryHandler.queryResult(database.getConnection(), - "SELECT " + fieldName + " FROM `" + name + "`" + getConstraints(constraints) + ";"); - List<Object> resObj = new ArrayList<>(); - try - { - while (results.next()) - { - resObj.add(results.getObject(1)); + + public MysqlField[] describe() { + try { + List<MysqlField> description = new ArrayList<>(); + DatabaseMetaData metadata = database.getConnection().getMetaData(); + ResultSet queryResults = metadata.getColumns(null, null, name, null); + while (queryResults.next()) { + description.add(new MysqlField( + queryResults.getString(4), + queryResults.getString(6).split(" ")[0] + "(" + queryResults.getString(7) + ")", + queryResults.getBoolean(11) + )); } - } - catch (SQLException e) - { + return description.toArray(new MysqlField[0]); + } catch (SQLException e) { e.printStackTrace(); - return new Object[0]; + return null; } - return resObj.toArray(new Object[0]); } - - public Object[] get(String statement) - { - ResultSet results = MysqlQueryHandler.queryResult(database.getConnection(), statement); + + public Object[] get(String fieldName, MysqlConstraint... constraints) { + ResultSet results = MysqlQueryHandler.queryResult( + database.getConnection(), + "SELECT " + fieldName + " FROM `" + name + "`" + getConstraints(constraints) + ";" + ); List<Object> resObj = new ArrayList<>(); - try - { - while (results.next()) - { + try { + while (results.next()) { resObj.add(results.getObject(1)); } - } - catch (SQLException e) - { + } catch (SQLException e) { e.printStackTrace(); return new Object[0]; } return resObj.toArray(new Object[0]); } - - public boolean delete(MysqlConstraint... constraints) - { - return MysqlQueryHandler.queryNoResult(database.getConnection(), - "DELETE FROM `" + name + "`" + getConstraints(constraints) + ";"); - } - - public boolean drop() - { - return MysqlQueryHandler.queryNoResult(database.getConnection(), "DROP TABLE `" + name + "`;"); - } - - private String getConstraints(MysqlConstraint... constraints) - { + + private String getConstraints(MysqlConstraint... constraints) { String cons = ""; - if (constraints.length > 0) - { + if (constraints.length > 0) { cons += " WHERE "; - for (int i = 0; i < constraints.length; i++) - { + for (int i = 0; i < constraints.length; i++) { MysqlConstraint constraint = constraints[i]; cons += constraint.getFieldName() + constraint.getOperator().toString() + "\"" + constraint.getValue() - + "\""; - if (i < constraints.length - 1) - { + + "\""; + if (i < constraints.length - 1) { cons += " AND "; } } } return cons; } + + public Object[] get(String statement) { + ResultSet results = MysqlQueryHandler.queryResult(database.getConnection(), statement); + List<Object> resObj = new ArrayList<>(); + try { + while (results.next()) { + resObj.add(results.getObject(1)); + } + } catch (SQLException e) { + e.printStackTrace(); + return new Object[0]; + } + return resObj.toArray(new Object[0]); + } + + public boolean delete(MysqlConstraint... constraints) { + return MysqlQueryHandler.queryNoResult( + database.getConnection(), + "DELETE FROM `" + name + "`" + getConstraints(constraints) + ";" + ); + } + + public boolean drop() { + return MysqlQueryHandler.queryNoResult(database.getConnection(), "DROP TABLE `" + name + "`;"); + } } |