Tutorials : Using DAOs in Apache Struts :

The next step will be to define the functions of a "DVD manager". We'll probably need functions like these:

Table 1: Functions in the DVD Manager
Function Purpose Exception thrown?
create DVD Creates a new DVD in the library When the id already exists
update DVD Updates an existing DVD When the id does not exist
delete DVD Deletes a DVD from the library When the id does not exist
get DVD Retrieves a DVD from the library. If the DVD is not found a "null" will be returned.   
get All Returns a list of all DVDs in the library  
find DVD Title Returns all DVDs whose titles contains a given string     

This list is not exhaustive. Normally you'll need several "find"-methods for searching the DVD library, depending on the properties you might have defined for a DVD. 

The DVD manager is our DAO--the module that interacts with the back end storing the DVDs. Since we'd like to be able to define different managers implementing various types of back ends, we need a Java interface for the manager. Let's call this interface DVDManagerIF

package dk.hansen;

import java.util.Collection;

/*
* This is a Data Access Object (DAO)
*/
public interface DVDManagerIF {

  public void createDVD(String id, String title) throws DAOException;
  public void updateDVD(String id, String title) throws DAOException;
  public void deleteDVD(String id) throws DAOException;
  public DVD getDVD(String id) throws DAOException; 
  public Collection getAll() throws DAOException;
  public Collection findDVDTitle(String title) throws DAOException;

}

The createDVD and updateDVD methods use a parameter list for the DVD data, but for a more complex class you'd probably want to use the DVD class as the parameter.

The getAll and findDVDTitle methods both return a collection of DVD instances.

Notice that we've decided to use a single Exception class for all methods. Knowing that the back end could be a database we must be prepared for handling SQL errors of various kinds, and we'll wrap them in our own DAOException class, which simply is an extension of Java's Exception class:

package dk.hansen;

public class DAOException extends Exception {

  public DAOException() {super();}

  public DAOException(String message) {super(message);}

  public DAOException(Throwable cause) {super(cause);}

  public DAOException(String message, Throwable cause) {
    super(message, cause);
  }

} 

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.