Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.shapex.ghostytops.sql;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import org.bukkit.Bukkit;
- import org.bukkit.plugin.Plugin;
- public class SQLUtil {
- public Connection connection = null;
- private final Plugin plugin;
- private final String dbLocation;
- public SQLUtil(Plugin plugin, String dbLocation) {
- this.plugin = plugin;
- this.dbLocation = dbLocation;
- }
- public void openConnection() {
- try {
- String e = this.plugin.getConfig().getString("mysql.type");
- if (e.equalsIgnoreCase("sqlite")) {
- Class.forName("org.sqlite.JDBC").newInstance();
- this.connection = DriverManager.getConnection("jdbc:sqlite://" + this.plugin.getDataFolder().getAbsolutePath() + "/" + this.dbLocation);
- } else if (e.equalsIgnoreCase("mysql")) {
- Class.forName("com.mysql.jdbc.Driver").newInstance();
- this.connection = DriverManager.getConnection("jdbc:mysql://" + this.plugin.getConfig().getString("mysql.host") + ":" + this.plugin.getConfig().getString("mysql.port") + "/" + this.plugin.getConfig().getString("mysql.database") + "?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&" + "user=" + this.plugin.getConfig().getString("mysql.user") + "&password=" + this.plugin.getConfig().getString("mysql.pass"));
- }
- } catch (Exception var2) { Bukkit.getLogger().info("Произошла ошибка при подключении к БД."); }
- }
- public void execute(final String query, final Object... values) {
- new Thread(new Runnable() {
- public void run() {
- try {
- if ((SQLUtil.this.connection == null) || (SQLUtil.this.connection.isClosed())) { SQLUtil.this.openConnection(); }
- PreparedStatement var2 = SQLUtil.this.connection.prepareStatement(query);
- for (int i = 0; i < values.length; i++) { var2.setObject(i + 1, values[i]); }
- var2.executeUpdate();
- } catch (Exception var3) { var3.printStackTrace(); }}}).start();
- }
- public ResultSet executeQuery(String query, Object... values) {
- ResultSetThread rst = new ResultSetThread(query, values);
- rst.run();
- return rst.res;
- }
- public class ResultSetThread extends Thread {
- ResultSet res;
- String query;
- Object[] values;
- public ResultSetThread(String query, Object... values) {
- this.query = query;
- this.values = values;
- }
- public void run() {
- try {
- if ((SQLUtil.this.connection == null) || (SQLUtil.this.connection.isClosed())) { SQLUtil.this.openConnection(); }
- PreparedStatement var3 = SQLUtil.this.connection.prepareStatement(this.query);
- for (int i = 0; i < this.values.length; i++) {
- var3.setObject(i + 1, this.values[i]);
- } this.res = var3.executeQuery();
- } catch (Exception var31) { var31.printStackTrace(); }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement