| ★ wanayoo — archive 1999 http://javaboutique.internet.com/Map_Java_Objects/index-8.html | Nouvelle recherche | Portail wanayoo |
![]() | ||||||||||||||
Reviews :Mapping Java Objects to a Database with Castor-JDO:
Reading from the databaseHaving data in the media, movie, and actor tables we'll now see how easy it is to create objects with data from the database. Assume that we want to find all movies where Keanu Reeves is an actor. The only thing we need to get started is to query his name, and magic happens: all objects are ready to use. The next program lists the movies and the medias where Keanu Reeves appears:
package hansen.playground;
import org.exolab.castor.jdo.*;
import java.util.*;
public class ReadActor {
public static void main(String[] args) {
try {
// Define the JDO object
JDO jdo = new JDO("mydb");
jdo.setConfiguration("database.xml");
// Open a connection to the database
Database db = jdo.getDatabase();
// Begin a transaction
db.begin();
OQLQuery query;
QueryResults results;
query = db.getOQLQuery(
"SELECT a FROM hansen.playground.Actor a WHERE a.name=$1");
query.bind("Keanu Reeves");
results = query.execute(Database.ReadOnly);
Actor actor = (Actor)results.next();
System.out.println("Actor: " + actor.getName());
Collection movies = actor.getMovies();
for (Iterator it = movies.iterator(); it.hasNext();) {
Movie movie = (Movie)it.next();
System.out.println("Movie: " + movie.getTitle());
Media media = movie.getMedia();
System.out.println("Media: " + media.getType());
}
// Commit the transaction
db.commit();
db.close();
} catch (PersistenceException e) {
e.printStackTrace();
}
}
}
- Listing 8: Reading from the database - The output from the program is this:
Actor: Keanu Reeves Movie: The Matrix Media: DVD Movie: Chain Reaction Media: VHS
The execute method specifies "readonly", since we're not updating any data. There might be a performance gain in doing this.
How to Add Java Applets to Your SiteNew on the Java Boutique:
New Article:
New Tutorial:
Year in Review: Elsewhere on internet.com:
WebDeveloper Java
WDVL Java
ScriptSearch Java |
| |||||||||||||
