mirror of
https://github.com/SimplexDevelopment/SimplexCore.git
synced 2024-12-22 08:37:37 +00:00
Added MySQL and SQLite(IN-PROGRESS) features
This commit is contained in:
parent
5abf62aa68
commit
5a04aeb32f
@ -0,0 +1,92 @@
|
|||||||
|
package io.github.simplexdev.simplexcore.sql;
|
||||||
|
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
public class Database {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* More to be added soon.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public static void createTable(String table, String columns) {
|
||||||
|
PreparedStatement ps;
|
||||||
|
try {
|
||||||
|
ps = MySQL.getConnection().prepareStatement("CREATE TABLE IF NOT EXISTS "
|
||||||
|
+ table + " (" + columns + ");");
|
||||||
|
ps.executeUpdate();
|
||||||
|
} catch(SQLException ex) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void insertData(String columns, String values, String table) {
|
||||||
|
PreparedStatement ps;
|
||||||
|
try {
|
||||||
|
ps = MySQL.getConnection().prepareStatement("INSERT INTO "
|
||||||
|
+ table + "(" + columns + ") VALUES (" + values + ");");
|
||||||
|
ps.executeUpdate();
|
||||||
|
} catch(SQLException ex) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void deleteData(String table, String column, Object value) {
|
||||||
|
PreparedStatement ps;
|
||||||
|
try {
|
||||||
|
ps = MySQL.getConnection().prepareStatement("DELETE FROM " + table + " WHERE " + column + "=?");
|
||||||
|
ps.setObject(1, value);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} catch(SQLException ex) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void set(String table, String gate, Object gate_value, String column, Object value) {
|
||||||
|
PreparedStatement ps;
|
||||||
|
try {
|
||||||
|
ps = MySQL.getConnection().prepareStatement("UPDATE " + table + " SET " + column + "=? WHERE " + gate + "=?");
|
||||||
|
ps.setObject(1, value);
|
||||||
|
ps.setObject(2, gate_value);
|
||||||
|
ps.executeUpdate();
|
||||||
|
} catch(SQLException ex) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean exists(String table, String column, Object value) {
|
||||||
|
PreparedStatement ps;
|
||||||
|
try {
|
||||||
|
ps = MySQL.getConnection().prepareStatement("SELECT * FROM "
|
||||||
|
+ table + " WHERE " + column + "=?");
|
||||||
|
ps.setObject(1, value);
|
||||||
|
|
||||||
|
ResultSet results = ps.executeQuery();
|
||||||
|
return results.next();
|
||||||
|
} catch(SQLException ex) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Object get(String table, String column, String gate, Object gate_value) {
|
||||||
|
PreparedStatement ps;
|
||||||
|
try {
|
||||||
|
ps = MySQL.getConnection().prepareStatement("SELECT " + column + " FROM " + table
|
||||||
|
+ " WHERE " + gate + "=?");
|
||||||
|
ps.setObject(1, gate_value);
|
||||||
|
|
||||||
|
ResultSet rs = ps.executeQuery();
|
||||||
|
Object toReturn;
|
||||||
|
|
||||||
|
if (rs.next()) {
|
||||||
|
toReturn = rs.getObject("CODE");
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
|
} catch(SQLException ex) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
package io.github.simplexdev.simplexcore.sql;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.DriverManager;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
public class MySQL {
|
||||||
|
|
||||||
|
private static Connection connection;
|
||||||
|
|
||||||
|
public static void setConnection(String host, String user, String pass, String database, @Nullable String port) {
|
||||||
|
if (port == null) port = "3306";
|
||||||
|
if (host == null || user == null || pass == null) return;
|
||||||
|
|
||||||
|
try {
|
||||||
|
connection = DriverManager.getConnection("jdbc:mysql://"
|
||||||
|
+ host + ":" + port + "/" + database + "?autoReconnect=true&useSSL=false", user, pass);
|
||||||
|
// TODO SQL successfully connected message
|
||||||
|
} catch(SQLException ex) {
|
||||||
|
// TODO SQL couldn't connect message
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void connect(String host, String user, String pass, String database, @Nullable String port) {
|
||||||
|
if (!isConnected()) {
|
||||||
|
setConnection(host, user, pass, database, port);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void disconnect() {
|
||||||
|
try {
|
||||||
|
if (isConnected()) {
|
||||||
|
connection.close();
|
||||||
|
}
|
||||||
|
} catch(SQLException ex) {
|
||||||
|
// TODO Couldn't disconnect SQL connection message. (Possible Solutions: There's no sql connection (SQL is not connected)).
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isConnected() {
|
||||||
|
if (connection != null)
|
||||||
|
try {
|
||||||
|
return !connection.isClosed();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
// TODO SQL Connection error message.
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Connection getConnection() {
|
||||||
|
return connection;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package io.github.simplexdev.simplexcore.sql;
|
||||||
|
|
||||||
|
public class SQLite {
|
||||||
|
|
||||||
|
/*
|
||||||
|
TODO
|
||||||
|
*/
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user