Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //MetaSQL.class
- package org.biohazard.msql;
- import java.io.File;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.hsqldb.Server;
- public class MetaSQL {
- Server hsqlServer;
- public Connection connection;
- private String a;
- private String b;
- private String c;
- public MetaSQL(String name, String username, String password) {
- a = name;
- b = username;
- c = password;
- }
- private Connection getConnection() {
- try {
- if (connection == null || connection.isClosed()) {
- try {
- Class.forName("org.hsqldb.jdbcDriver");
- return DriverManager.getConnection(
- "jdbc:hsqldb:hsql://localhost/" + a, "sa", "");
- } catch (SQLException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e1) {
- e1.printStackTrace();
- }
- } else {
- return connection;
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return null;
- }
- public void startServer(String path) {
- try {
- hsqlServer = new Server();
- hsqlServer.setLogWriter(null);
- hsqlServer.setSilent(true);
- System.out.println("DatabaseServerPath: " + path);
- hsqlServer.setDatabaseName(0, a);
- hsqlServer.setDatabasePath(0, "file:" + path);
- hsqlServer.start();
- try {
- Class.forName("org.hsqldb.jdbcDriver");
- connection = DriverManager.getConnection(
- "jdbc:hsqldb:hsql://localhost/" + a, b, c);
- connection.prepareStatement(
- "create table testtable ( id INTEGER, "
- + "name VARCHAR(255));").execute();
- connection.prepareStatement(
- "insert into testtable(id, name) "
- + "values (1, 'testvalue');").execute();
- ResultSet rs = connection.prepareStatement(
- "select * from testtable;").executeQuery();
- rs.next();
- System.out.println("Id: " + rs.getInt(1) + " Name: "
- + rs.getString(2));
- connection.prepareStatement("drop table testtable;").execute();
- createDatabase(path);
- } catch (SQLException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } finally {
- // Closing the connection
- // if (connection != null)
- // try
- // {
- // connection.close();
- // }
- // catch (SQLException e)
- // {
- // // TODO Auto-generated catch block
- // e.printStackTrace();
- // }
- }
- } finally {
- // Closing the server
- // if (hsqlServer != null)
- // hsqlServer.stop();
- }
- }
- public void createDatabase(String savePath) {
- }
- // TODO: 4 Commands
- public void createTable(String tablename) {
- executeCommand("CREATE TABLE "
- + tablename
- + " (DATA VARCHAR(100),X VARCHAR(100),Y VARCHAR(100),Z VARCHAR(100))");
- }
- public void insertTable(String tablename, int[] blockPos, String data) {
- executeCommand("INSERT INTO " + tablename + " VALUES (" + blockPos[0]
- + ", " + blockPos[1] + "," + blockPos[2] + "," + data + ")");
- }
- public void updateTable(String tablename, String[] pos, String oldvar,
- String newvar) {
- executeCommand("UPDATE Persons SET X='" + pos[0] + "', Y='" + pos[1]
- + "', Z='" + pos[2] + "' WHERE X='" + pos[0]
- + "' AND FirstName='" + pos[1] + "'AND FirstName='" + pos[2]
- + "'");
- }
- public void deleteItem(String tablename, int[] blockPos) {
- executeCommand("DELETE FROM " + tablename + " WHERE X='" + blockPos[0]
- + "' AND Y='" + blockPos[1] + "' AND Z='" + blockPos[3] + "'");
- }
- public ResultSet executeQuery(String command) {
- try {
- Connection c = getConnection();
- return c.prepareStatement(command).executeQuery();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return null;
- }
- public void executeCommand(String command) {
- try {
- Connection c = getConnection();
- c.prepareStatement(command).execute();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public PreparedStatement prepareStatement(String command) {
- try {
- Connection c = getConnection();
- return c.prepareStatement(command);
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return null;
- }
- public void createDatabase(File savePath) {
- createDatabase(savePath.getAbsolutePath());
- }
- public void shutDown() {
- if (hsqlServer != null)
- hsqlServer.stop();
- }
- }
- //Metaloader.class (Which the mods shall use)
- package org.biohazard.msql;
- import java.io.File;
- public class Metaloader {
- public Metaloader(String name, String username, String password) {
- msql = new MetaSQL(name, username, password);
- }
- public void createDB(String path, String username, String password) {
- msql.createDatabase(new File(path));
- }
- public void startDB(String path) {
- msql.startServer(path);
- }
- public void createTable(String tablename) {
- msql.createTable(tablename);
- }
- public void deleteItem(String tablename, int[] BlockPos) {
- msql.deleteItem(tablename, BlockPos);
- }
- public void insertItem(String tablename, int[] BlockPos, String Data) {
- msql.insertTable(tablename, BlockPos, Data);
- }
- public void stopDB() {
- msql.shutDown();
- }
- private MetaSQL msql;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement