Download PDF Home History |  | API Search Feedback FAQ

> ## Database Connections

> The Application Server ships with a relational database product named PointBase. The following material shows how the `SavingsAccountBean` example of Chapter 26 accesses a PointBase database. The `SavingsAccountBean` component is an entity bean with bean-managed persistence.

> Session beans and Web components will use the same approach as `SavingsAccountBean` to access a database. (Entity beans with container-managed persistence are different. See Chapter 27.)

> ### Coding a Database Connection

> For the `SavingsAccountBean` example, the code that connects to the database is in the entity bean implementation class `SavingsAccountBean`. The source code for this class is in this directory:

>     <INSTALL>/j2eetutorial14/ejb/savingsaccount/src/

> The bean connects to the database in three steps:

> 1. Specify the logical name of the database.

> `private String dbName
> = "java:comp/env/jdbc/SavingsAccountDB";`

> The`java:comp/env` portion of the logical name is the environment naming context of the component. The `jdbc/SavingsAccountDB` string is the resource reference name (sometimes referred to as the coded name). In `deploytool`, you specify the resource reference name and then map it to the JNDI name of the `DataSource` object.

> 2. Obtain the `DataSource` object associated with the logical name.

> `InitialContext ic = new InitialContext();
> DataSource ds = (DataSource) ic.lookup(dbName);`

> Given the logical name for the resource, the `lookup` method returns the `DataSource` object that is bound to the JNDI name in the directory.

> 3. Get the `Connection` object from the `DataSource` object.

> `Connection con = ds.getConnection();`

> ### Specifying a Resource Reference

> The application for the `SavingAccountBean` example is in the `SavingsAccountApp.ear` file, which is in this directory:

>     <INSTALL>/j2eetutorial14/examples/ejb/provided-ears/

> For your convenience, the resource reference and JNDI names in `SavingsAccountApp.ear` have already been configured in `deploytool`. However, you may find it instructive to open `SavingsAccountApp.ear` in `deploytool` and follow these steps for specifying the resource reference.

> 1. In `deploytool`, select `SavingsAccountBean` from the tree.
> 2. Select the Resource Ref's tab.
> 3. Click Add.
> 4. In the Coded Name field, enter `jdbc/SavingsAccountDB`.
> 5. In the Type combo box, select `javax.sql.DataSource`.
> 6. In the Authentication combo box, select Container.
> 7. If you want other enterprise beans to share the connections acquired from the `DataSource`, select the Sharable checkbox.
> 8. To map the resource reference to the data source, enter `jdbc/ejbTutorialDB` in the JNDI Name field.

> If the preceding steps are followed, the Resource Ref's tab will appear as shown in Figure 31-1.

> Figure 31-1 Resource Ref's Tabbed Pane of `SavingsAccountBean`

> ### Creating a Data Source

> In the preceding section, you map the resource reference to the JNDI name of the data source. The `deploytool` utility stores this mapping information in a deployment descriptor of `SavingsAccountBean`. In addition to setting the bean's deployment descriptor, you also must define the data source in the Application Server. You define a data source by using the Admin Console. To create the data source with the Admin Console, follow this procedure:

> 1. Open the URL `http://localhost:4848/asadmin` in a browser.
> 2. Expand the JDBC node.
> 3. Select the JDBC Resources node.
> 4. Click New.
> 5. Type `jdbc/ejbTutorialDB` in the JNDI Name field.
> 6. Choose `PointBasePool` from the Pool Name combo box.
> 7. Click OK.
> 8. Note that `jdbc/ejbTutorialDB` is listed under the JDBC Resources node.

Download PDF Home History |  | API Search Feedback FAQ

All of the material in The J2EE(TM) 1.4 Tutorial is copyright-protected and may not be published in other works without express written permission from Sun Microsystems.