Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.berstek;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.Scanner;
- import org.h2.tools.Server;
- public class AmazingConnection {
- private Connection conn;
- private PreparedStatement pst;
- private ResultSet rs;
- private String address, dbName, username, password;
- private Database database;
- public AmazingConnection(Database database) {
- this.database = database;
- }
- public enum Database {
- H2EMBED, H2CLIENT, H2SERVER, MYSQL;
- }
- public void parseConnectionParams(String path) throws FileNotFoundException {
- String[] connParams = new String[4];
- Scanner scanner = new Scanner(new File(path));
- int i = 0;
- while (scanner.hasNextLine()) {
- connParams[i] = scanner.nextLine();
- i++;
- }
- address = connParams[0];
- dbName = connParams[1];
- username = connParams[2];
- password = connParams[3];
- scanner.close();
- }
- public void setConnectionParams(String address, String dbName, String username, String password) {
- this.address = address;
- this.dbName = dbName;
- this.username = username;
- this.password = password;
- }
- public void connect() throws ClassNotFoundException, SQLException {
- Class.forName(chooseDriver());
- System.out.println("Driver Loaded");
- chooseConnection();
- System.out.println("Connected");
- }
- public void prepareStatement(String statement) throws SQLException {
- pst = conn.prepareStatement(statement);
- }
- public void update() throws SQLException {
- pst.executeUpdate();
- }
- public void query() throws SQLException {
- rs = pst.executeQuery();
- }
- public ResultSet getResultset() {
- return rs;
- }
- public void disconnect() throws SQLException {
- conn.close();
- }
- public void execute() throws SQLException {
- pst.execute();
- }
- private void chooseConnection() throws SQLException {
- switch (database) {
- case H2SERVER:
- startH2Server();
- conn = DriverManager.getConnection("jdbc:h2:tcp://" + address + "/" + dbName, username, password);
- break;
- case H2CLIENT:
- conn = DriverManager.getConnection("jdbc:h2:tcp://" + address + "/" + dbName, username, password);
- break;
- case H2EMBED:
- conn = DriverManager.getConnection("jdbc:h2:" + dbName, username, password);
- break;
- case MYSQL:
- conn = DriverManager.getConnection(
- "jdbc:mysql://" + address + "/" + dbName + "?" + "user=" + username + "&password=" + password);
- break;
- default:
- break;
- }
- }
- private String chooseDriver() {
- String driver = "";
- switch (database) {
- case H2SERVER:
- case H2CLIENT:
- case H2EMBED:
- driver = "org.h2.Driver";
- break;
- case MYSQL:
- driver = "com.mysql.jdbc.Driver";
- break;
- }
- return driver;
- }
- void startH2Server() {
- try {
- Server.createTcpServer("-tcpPort", "9092", "-tcpAllowOthers").start();
- System.out.println("Server Started");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement