Advertisement
Guest User

Untitled

a guest
May 3rd, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.68 KB | None | 0 0
  1. /*
  2.  * Class: DBManager.java
  3.  * Copyleft (c) -- Coded by Blay.
  4.  *
  5.  * Class for databse communication.
  6.  *
  7.  * RaBot project -- 1.0 BETA Release
  8. **/
  9.  
  10. import java.sql.Connection;
  11.  
  12. import java.sql.Statement;
  13.  
  14. import java.sql.ResultSet;
  15.  
  16. import java.sql.ResultSetMetaData;
  17.  
  18. import java.sql.DriverManager;
  19. import java.sql.PreparedStatement;
  20. import java.sql.SQLException;
  21.  
  22. import java.util.Vector;
  23. // import java.util.Enumeration;
  24.  
  25.  
  26. class DBManager
  27.  
  28. {
  29.  
  30.     private final String driver = "com.mysql.jdbc.Driver"; // JDBC Driver
  31.  
  32.     private final int MYSQL_DEFAULT_PORT = 3306;
  33.  
  34.    
  35.  
  36.     private String databaseURL = null; // database url
  37.  
  38.     private int databasePort = -1; // databse port (3306)
  39.  
  40.     private String databaseName = null; // database name
  41.  
  42.     private String databaseUser = null;
  43.  
  44.     private String databasePassword = null;
  45.  
  46.    
  47.     // Initialize database port to default MySQL port number
  48.     {
  49.         this.databasePort = MYSQL_DEFAULT_PORT;
  50.     }
  51.    
  52.  
  53.     public DBManager(String url, String name, int port, String user, String pass)
  54.  
  55.     {
  56.         this(url, name, user, pass);
  57.         this.databasePort = port;
  58.  
  59.     }
  60.  
  61.    
  62.  
  63.     public DBManager(String url, String name, String user, String pass)
  64.  
  65.     {
  66.  
  67.         this.databaseName = name;
  68.  
  69.         this.databaseUser = user;
  70.         this.databasePassword = pass;
  71.         this.databaseURL = "jdbc:mysql://" + url + ":" + this.databasePort + "/" + name;
  72.  
  73.     }
  74.  
  75.    
  76.  
  77.     /* DisconnectDB: close db connection */
  78.  
  79.     void DisconnectDB(Statement s)
  80.  
  81.     {
  82.  
  83.         try {
  84.  
  85.             s.close();
  86.  
  87.         }
  88.  
  89.         catch (Exception e){}
  90.  
  91.     }
  92.  
  93.    
  94.  
  95.     /* ConnectDB: return Connection class for given database */
  96.  
  97.     Connection ConnectDB()
  98.  
  99.     {
  100.  
  101.         Connection c = null;
  102.  
  103.         try {
  104.  
  105.             Class.forName(driver).newInstance();
  106.  
  107.             c = DriverManager.getConnection(databaseURL, databaseUser, databasePassword);
  108.  
  109.            
  110.  
  111.             return c;
  112.  
  113.         }
  114.  
  115.         catch (Exception e) {
  116.  
  117.             e.printStackTrace();
  118.             return null;
  119.  
  120.         }
  121.  
  122.     }
  123.  
  124.    
  125.     /* getPStatement: returns reference to PreparedStatement, taking SQL query as parameter. Returns null on failure */
  126.     PreparedStatement getPStatement(String statement)
  127.     {
  128.         try {
  129.             /*
  130.              * statement example: "SELECT user FROM mdl_mnet_session_set WHERE id = ?"
  131.              * where '?' gets replaced by value. '?' must be the same type as database
  132.              * field type, for ex.: consider id being type INTEGER you'd have to use setInt()
  133.              * to replace '?' with actual value.
  134.              * This statement is only compiled once and then used again with different values.
  135.             **/
  136.            
  137.             PreparedStatement ps = this.ConnectDB().prepareStatement(statement);
  138.            
  139.             return ps;
  140.         }
  141.         catch (SQLException sqle) {
  142.             sqle.printStackTrace();
  143.             return null;
  144.         }
  145.     }
  146.    
  147.     Statement getStatement()
  148.     {
  149.         Statement s = null;
  150.         try {
  151.             s = this.ConnectDB().createStatement();
  152.         }
  153.         catch (SQLException sqle) {
  154.             sqle.printStackTrace();
  155.             s = null;
  156.         }
  157.        
  158.         return s;
  159.     }
  160.    
  161.     /* Used for writing records to database */
  162.     void execQuery(String qry)
  163.     {
  164.         try {
  165.             Statement s = this.ConnectDB().createStatement();
  166.             s.executeUpdate(qry);
  167.             s.close();
  168.         }
  169.         catch (SQLException sqle) {
  170.             sqle.printStackTrace();
  171.         }
  172.     }
  173.    
  174.     void closeStatement(Statement s)
  175.     {
  176.         try {
  177.             s.close();
  178.         }
  179.         catch (SQLException sqle) {
  180.             sqle.printStackTrace();
  181.         }
  182.     }
  183.    
  184.     void closePStatement(PreparedStatement ps)
  185.     {
  186.         try {
  187.             ps.close();
  188.         }
  189.         catch (SQLException sqle) {
  190.             sqle.printStackTrace();
  191.         }
  192.     }
  193.    
  194.     void closeRSet(ResultSet rs)
  195.     {
  196.         try {
  197.             rs.close();
  198.         }
  199.         catch (SQLException sqle) {
  200.             sqle.printStackTrace();
  201.         }
  202.     }
  203.    
  204.     /*
  205.     void closeRSetMData(ResultSetMetaData rsmd)
  206.     {
  207.         try {
  208.             rsmd.close();
  209.         }
  210.         catch (SQLException sqle) {
  211.             sqle.printStackTrace();
  212.         }
  213.     }
  214.     */
  215.  
  216. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement