Class JDBCPieDataset

All Implemented Interfaces:
ObjectInputValidation, Serializable, Cloneable, Dataset, KeyedValues, PieDataset, Values

public class JDBCPieDataset
extends DefaultPieDataset
A PieDataset that reads data from a database via JDBC.

A query should be supplied that returns data in two columns, the first containing VARCHAR data, and the second containing numerical data. The data is cached in-memory and can be refreshed at any time.

Author:
Bryan Scott.
See Also:
Serialized Form
  • Constructor Details

    • JDBCPieDataset

      public JDBCPieDataset​(String url, String driverName, String user, String password) throws SQLException, ClassNotFoundException
      Creates a new JDBCPieDataset and establishes a new database connection.
      Parameters:
      url - the URL of the database connection.
      driverName - the database driver class name.
      user - the database user.
      password - the database users password.
      Throws:
      ClassNotFoundException - if the driver cannot be found.
      SQLException - if there is a problem obtaining a database connection.
    • JDBCPieDataset

      public JDBCPieDataset​(Connection con)
      Creates a new JDBCPieDataset using a pre-existing database connection.

      The dataset is initially empty, since no query has been supplied yet.

      Parameters:
      con - the database connection.
    • JDBCPieDataset

      public JDBCPieDataset​(Connection con, String query) throws SQLException
      Creates a new JDBCPieDataset using a pre-existing database connection.

      The dataset is initialised with the supplied query.

      Parameters:
      con - the database connection.
      query - the database connection.
      Throws:
      SQLException - if there is a problem executing the query.
  • Method Details

    • executeQuery

      public void executeQuery​(String query) throws SQLException
      ExecuteQuery will attempt execute the query passed to it against the existing database connection. If no connection exists then no action is taken. The results from the query are extracted and cached locally, thus applying an upper limit on how many rows can be retrieved successfully.
      Parameters:
      query - the query to be executed.
      Throws:
      SQLException - if there is a problem executing the query.
    • executeQuery

      public void executeQuery​(Connection con, String query) throws SQLException
      ExecuteQuery will attempt execute the query passed to it against the existing database connection. If no connection exists then no action is taken. The results from the query are extracted and cached locally, thus applying an upper limit on how many rows can be retrieved successfully.
      Parameters:
      query - the query to be executed
      con - the connection the query is to be executed against
      Throws:
      SQLException - if there is a problem executing the query.
    • close

      public void close()
      Close the database connection