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

CIS355A Week 6 Lab 1

CIS355A Week 6 Lab 2

RUBRIC

StockIO class

  • getData method reads from database

  • saveData method writes data to the database

  • udpateStock method updates the identified stock to the database

  • deleteStock method deletes the identified stock in the database

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