Advertisement
Guest User

Untitled

a guest
Sep 5th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. package com.berstek;
  2.  
  3. import java.io.File;
  4. import java.io.FileNotFoundException;
  5. import java.sql.Connection;
  6. import java.sql.DriverManager;
  7. import java.sql.PreparedStatement;
  8. import java.sql.ResultSet;
  9. import java.sql.SQLException;
  10. import java.util.Scanner;
  11.  
  12. import org.h2.tools.Server;
  13.  
  14. public class AmazingConnection {
  15.  
  16. private Connection conn;
  17. private PreparedStatement pst;
  18. private ResultSet rs;
  19. private String address, dbName, username, password;
  20. private Database database;
  21.  
  22. public AmazingConnection(Database database) {
  23. this.database = database;
  24. }
  25.  
  26. public enum Database {
  27. H2EMBED, H2CLIENT, H2SERVER, MYSQL;
  28. }
  29.  
  30. public void parseConnectionParams(String path) throws FileNotFoundException {
  31. String[] connParams = new String[4];
  32. Scanner scanner = new Scanner(new File(path));
  33. int i = 0;
  34. while (scanner.hasNextLine()) {
  35. connParams[i] = scanner.nextLine();
  36. i++;
  37. }
  38. address = connParams[0];
  39. dbName = connParams[1];
  40. username = connParams[2];
  41. password = connParams[3];
  42.  
  43. scanner.close();
  44. }
  45.  
  46. public void setConnectionParams(String address, String dbName, String username, String password) {
  47. this.address = address;
  48. this.dbName = dbName;
  49. this.username = username;
  50. this.password = password;
  51. }
  52.  
  53. public void connect() throws ClassNotFoundException, SQLException {
  54. Class.forName(chooseDriver());
  55. System.out.println("Driver Loaded");
  56. chooseConnection();
  57. System.out.println("Connected");
  58. }
  59.  
  60. public void prepareStatement(String statement) throws SQLException {
  61. pst = conn.prepareStatement(statement);
  62. }
  63.  
  64. public void update() throws SQLException {
  65. pst.executeUpdate();
  66. }
  67.  
  68. public void query() throws SQLException {
  69. rs = pst.executeQuery();
  70. }
  71.  
  72. public ResultSet getResultset() {
  73. return rs;
  74. }
  75.  
  76. public void disconnect() throws SQLException {
  77. conn.close();
  78. }
  79.  
  80. public void execute() throws SQLException {
  81. pst.execute();
  82. }
  83.  
  84. private void chooseConnection() throws SQLException {
  85. switch (database) {
  86. case H2SERVER:
  87. startH2Server();
  88. conn = DriverManager.getConnection("jdbc:h2:tcp://" + address + "/" + dbName, username, password);
  89. break;
  90. case H2CLIENT:
  91. conn = DriverManager.getConnection("jdbc:h2:tcp://" + address + "/" + dbName, username, password);
  92. break;
  93. case H2EMBED:
  94. conn = DriverManager.getConnection("jdbc:h2:" + dbName, username, password);
  95. break;
  96. case MYSQL:
  97. conn = DriverManager.getConnection(
  98. "jdbc:mysql://" + address + "/" + dbName + "?" + "user=" + username + "&password=" + password);
  99. break;
  100. default:
  101. break;
  102. }
  103. }
  104.  
  105. private String chooseDriver() {
  106. String driver = "";
  107. switch (database) {
  108. case H2SERVER:
  109. case H2CLIENT:
  110. case H2EMBED:
  111. driver = "org.h2.Driver";
  112. break;
  113. case MYSQL:
  114. driver = "com.mysql.jdbc.Driver";
  115. break;
  116. }
  117. return driver;
  118. }
  119.  
  120. void startH2Server() {
  121. try {
  122. Server.createTcpServer("-tcpPort", "9092", "-tcpAllowOthers").start();
  123. System.out.println("Server Started");
  124. } catch (Exception e) {
  125. e.printStackTrace();
  126. }
  127. }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement