CIS355A Week 6 Lab
CIS355A Week 6 Lab—Database
OBJECTIVES
Add persistent data storage to your Week 5 Lab using the MySQL Database.
PROBLEM: Stocks4U Portfolio Management System
The portfolio management system you developed for Stocks4U needs the ability to save and restore a user’s data from a MySql Database.
FUNCTIONAL REQUIREMENTS
The functional requirements of the Stocks4U application have not changed, and the Graphical User Interface has not changed from Week 5.
StockIO class
Modify the StockIO class to read and write the stock information to and from a MySQL database. Called “StocksDB”
This class should have two methods.
getData—reads data from file, returns data in array list of stock objects
saveData—writes data from an array list to the data base in proper format
deleteStock—deletes the identified stock from the database
updateStock—updates the identified stock in the database.
The database connection string will be stored as a constant in the StockIO class.
GUI class
Note that you will need to add an ArrayList to your GUI class to manage the data to/from the file. It will act as a parallel array to your DefaultListModel. Any time you add a stock, you must add it in BOTH places. Any time you remove a stock, you must remove it in BOTH places.
File—open should open the database, retrieve the existing records and display the existing records.
File—save should save all records, new and old, back to the database.
File—exit should exit the program.
The total value of the portfolio should be displayed at all times and updated anytime a stock is added or removed.
Sample GUI
RUBRIC
StockIO class
| 40 |
Code style | |
Lab Report | 10 |
TOTAL | 55 |
CODE STYLE REQUIREMENTS
Include meaningful comments throughout your code.
Use meaningful names for variables.
Code must be properly indented.
Include a comment header at beginning of each file, example below.
/****************************************************
Program Name: ProgramName.java
Programmer's Name: Student Name
Program Description: Describe here what this program will do
***********************************************************/
DELIVERABLES
Submit as a SINGLE zip folder
all Java files; and
the Lab report.
Follow assignment specification regarding class/method names.
Note that your Java file name must match class name (DO NOT rename).
CIS355A Week 5 Lab Instructions Page 3