0

1 Commits
dev ... v5.2.2

Author SHA1 Message Date
David Panić
2bc14973af Merge branch 'dev' 2019-04-17 19:59:35 +02:00
2 changed files with 13 additions and 27 deletions

View File

@@ -55,10 +55,10 @@ public class MysqlHandler {
} }
public MysqlDatabase getDatabase(String databaseName) { public MysqlDatabase getDatabase(String databaseName) {
return new MysqlDatabase(this, databaseName); return new MysqlDatabase(getConnection(databaseName));
} }
public Connection getConnection(String databaseName) throws IllegalStateException { private Connection getConnection(String databaseName) throws IllegalStateException {
Connection connection = null; Connection connection = null;
try { try {
connection = DriverManager.getConnection(url + databaseName, username, password); connection = DriverManager.getConnection(url + databaseName, username, password);
@@ -76,7 +76,7 @@ public class MysqlHandler {
ResultSet queryResults = metadata.getCatalogs(); ResultSet queryResults = metadata.getCatalogs();
while (queryResults.next()) { while (queryResults.next()) {
String databaseName = queryResults.getString("TABLE_CAT"); String databaseName = queryResults.getString("TABLE_CAT");
databases.add(new MysqlDatabase(this, databaseName)); databases.add(new MysqlDatabase(getConnection(databaseName)));
} }
connection.close(); connection.close();
return databases; return databases;

View File

@@ -1,6 +1,5 @@
package com.redstoner.misc.mysql.elements; package com.redstoner.misc.mysql.elements;
import com.redstoner.misc.mysql.MysqlHandler;
import com.redstoner.misc.mysql.MysqlQueryHandler; import com.redstoner.misc.mysql.MysqlQueryHandler;
import java.sql.Connection; import java.sql.Connection;
@@ -11,14 +10,10 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class MysqlDatabase { public class MysqlDatabase {
private Connection connection = null; private Connection connection;
private final MysqlHandler handler; public MysqlDatabase(Connection connection) {
private final String databaseName; this.connection = connection;
public MysqlDatabase(MysqlHandler handler, String databaseName) {
this.handler = handler;
this.databaseName = databaseName;
} }
public MysqlTable getTable(String name) { public MysqlTable getTable(String name) {
@@ -26,7 +21,7 @@ public class MysqlDatabase {
} }
public boolean createTable(String name, MysqlField... description) { public boolean createTable(String name, MysqlField... description) {
return MysqlQueryHandler.queryNoResult(getConnection(), "CREATE TABLE `" + name + "` " + getDescription(description) + ";"); return MysqlQueryHandler.queryNoResult(connection, "CREATE TABLE `" + name + "` " + getDescription(description) + ";");
} }
private String getDescription(MysqlField... description) { private String getDescription(MysqlField... description) {
@@ -52,20 +47,20 @@ public class MysqlDatabase {
} }
public boolean createTableIfNotExists(String name, MysqlField... description) { public boolean createTableIfNotExists(String name, MysqlField... description) {
return MysqlQueryHandler.queryNoResult(getConnection(), "CREATE TABLE IF NOT EXISTS `" + name + "` " + getDescription(description) + ";"); return MysqlQueryHandler.queryNoResult(connection, "CREATE TABLE IF NOT EXISTS `" + name + "` " + getDescription(description) + ";");
} }
public boolean dropTable(String name) { public boolean dropTable(String name) {
return MysqlQueryHandler.queryNoResult(getConnection(), "DROP TABLE `" + name + "`;"); return MysqlQueryHandler.queryNoResult(connection, "DROP TABLE `" + name + "`;");
} }
public boolean drop() { public boolean drop() {
return MysqlQueryHandler.queryNoResult(getConnection(), "DROP DATABASE `" + getName() + "`;"); return MysqlQueryHandler.queryNoResult(connection, "DROP DATABASE `" + getName() + "`;");
} }
public String getName() { public String getName() {
try { try {
return getConnection().getCatalog(); return connection.getCatalog();
} catch (SQLException e) { } catch (SQLException e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
@@ -75,7 +70,7 @@ public class MysqlDatabase {
public List<MysqlTable> getTables() { public List<MysqlTable> getTables() {
try { try {
List<MysqlTable> tables = new ArrayList<>(); List<MysqlTable> tables = new ArrayList<>();
DatabaseMetaData metadata = getConnection().getMetaData(); DatabaseMetaData metadata = connection.getMetaData();
ResultSet queryResults = metadata.getTables(null, null, "%", null); ResultSet queryResults = metadata.getTables(null, null, "%", null);
while (queryResults.next()) { while (queryResults.next()) {
@@ -89,16 +84,7 @@ public class MysqlDatabase {
} }
} }
Connection getConnection() { protected Connection getConnection() {
try {
if (connection == null || connection.isClosed()) {
connection = handler.getConnection(databaseName);
}
} catch (SQLException e) {
e.printStackTrace();
connection = handler.getConnection(databaseName);
}
return connection; return connection;
} }
} }