Class MySQLDatabase

java.lang.Object
com.rit.dca.pubpaper.database.MySQLDatabase

public class MySQLDatabase
extends java.lang.Object
Database Connectivity and Access
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private java.sql.Connection connection  
    private java.lang.String connectionURL  
    private java.lang.String password  
    private java.lang.String userName  
  • Constructor Summary

    Constructors 
    Constructor Description
    MySQLDatabase​(java.lang.String url, java.lang.String userName, java.lang.String password)
    Parameterized Constructor that takes in the database url, username and password
  • Method Summary

    Modifier and Type Method Description
    boolean close()
    Closes the connection
    boolean connect()
    Connects to MYSQL DB using the MYSQL Driver
    boolean endTransaction()
    End Transaction
    java.util.ArrayList<java.util.ArrayList<java.lang.String>> getData​(java.lang.String query, java.util.List<java.lang.String> arguments)
    Execute Select queries using prepared statement
    int modifyData​(java.lang.String query, java.util.List<java.lang.String> arguments)
    Execute Update, Delete and Insert queries using preparedStatement
    private java.sql.PreparedStatement prepare​(java.lang.String query, java.util.List<java.lang.String> arguments)
    Prepare query statement
    boolean rollbackTransaction()
    Rollback Transaction
    boolean startTransaction()
    Start Transaction

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • connection

      private java.sql.Connection connection
    • connectionURL

      private java.lang.String connectionURL
    • userName

      private java.lang.String userName
    • password

      private java.lang.String password
  • Constructor Details

    • MySQLDatabase

      public MySQLDatabase​(java.lang.String url, java.lang.String userName, java.lang.String password)
      Parameterized Constructor that takes in the database url, username and password
      Parameters:
      url - - contains the connection url
      userName - - contains the username
      password - - contains the password
  • Method Details

    • connect

      public boolean connect() throws PubPaperException
      Connects to MYSQL DB using the MYSQL Driver
      Returns:
      boolean - returns true or false based on ability to connect.
      Throws:
      PubPaperException
    • close

      public boolean close() throws PubPaperException
      Closes the connection
      Returns:
      boolean - returns true or false based on ability to close connection.
      Throws:
      PubPaperException
    • prepare

      private java.sql.PreparedStatement prepare​(java.lang.String query, java.util.List<java.lang.String> arguments) throws PubPaperException
      Prepare query statement
      Parameters:
      query - - SQL Query
      arguments - - Parameters for variables in SQL Query
      Returns:
      PreparedStatement - returns the formed prepared statement with arguments.
      Throws:
      PubPaperException
    • getData

      public java.util.ArrayList<java.util.ArrayList<java.lang.String>> getData​(java.lang.String query, java.util.List<java.lang.String> arguments) throws PubPaperException
      Execute Select queries using prepared statement
      Parameters:
      query - - SQL Query
      arguments - - Parameters for variables in SQL Query
      Returns:
      ArrayList> - returns all rows from select query along with column headers.
      Throws:
      PubPaperException
    • modifyData

      public int modifyData​(java.lang.String query, java.util.List<java.lang.String> arguments) throws PubPaperException
      Execute Update, Delete and Insert queries using preparedStatement
      Parameters:
      query - - SQL Query
      arguments - - Parameters for variables in SQL Query
      Returns:
      int - returns rows affected from executing the DML statements.
      Throws:
      PubPaperException
    • startTransaction

      public boolean startTransaction() throws PubPaperException
      Start Transaction
      Returns:
      boolean - returns true if transaction started successfully.
      Throws:
      PubPaperException
    • endTransaction

      public boolean endTransaction() throws PubPaperException
      End Transaction
      Returns:
      boolean - returns true if transaction committed successfully.
      Throws:
      PubPaperException
    • rollbackTransaction

      public boolean rollbackTransaction() throws PubPaperException
      Rollback Transaction
      Returns:
      boolean - returns true if transaction is rollbacked successfully.
      Throws:
      PubPaperException