01 package database.xmlBean;
02
03 import databaseCustomerDb.XCustomerDocument;
04 import databaseCustomerDb.XCustomerDocument.XCustomer;
05 import databaseCustomerDb.XCustomerDocument.Factory;
06 import com.bea.control.DatabaseControl;
07 import databaseCustomerDb.XCustomerDocument.XCustomer.XCustomerRow;
08 import java.sql.SQLException;
09
10
11 /**
12 *<p> A sample Database Control that demonstrates how to
13 * load database data into XMLBean types.</p>
14 *
15 * <p>This Database Control uses the JDBC Data Source
16 * "cgSampleSataSource" which is configured automatically
17 * when WebLogic Workshop is installed.</p>
18 *
19 * <p>The data source is configured with the JNDI
20 * name "cgSampleDataSource".</p>
21 *
22 * <p>The SQL queries refer to the CUSTOMER table,
23 * which is pre-loaded in the Pointbase database.</p>
24 *
25 * <p>The CUSTOMER table contains the following fields:
26 * <ul>
27 * <li>CUSTID (INT, Primary Key)</li>
28 * <li>NAME (VARCHAR)</li>
29 * <li>ADDRESS (VARCHAR)</li>
30 * <li>CITY (VARCHAR)</li>
31 * <li>STATE (CHAR(2))</li>
32 * <li>ZIP (VARCHAR)</li>
33 * <li>AREA_CODE (CHAR(3))</li>
34 * <li>PHONE CHAR(9)</li>
35 * </ul>
36 * </p>
37 *
38 * @jc:connection data-source-jndi-name="cgSampleDataSource"
39 */
40
41 public interface CustomerDB_XMLBean extends com.bea.control.ControlExtension, DatabaseControl
42 {
43 /**
44 * @jc:sql statement="SELECT * FROM customer"
45 */
46 public XCustomerDocument findAllCustomersDoc();
47
48 /**
49 * @jc:sql statement="SELECT name FROM customer"
50 * array-max-length=100
51 */
52 public XCustomerDocument getAllCustomerNames();
53
54 /**
55 * @jc:sql statement="SELECT custid, name, address, city, state, zip, area_code, phone FROM customer WHERE custid = {key}"
56 */
57 public XCustomerDocument getCustomerByID(int key);
58
59 /**
60 * @jc:sql statement="SELECT city FROM customer WHERE custid = {key}"
61 */
62 public XCustomerDocument getCustomerCityByID(int key);
63
64 /**
65 * This method takes an XCustomerRow object
66 *
67 * <XCustomerRow>
68 * <CUSTID>1111</CUSTID>
69 * <NAME>Some Name</NAME>
70 * <ADDRESS>Some Address</ADDRESS>
71 * <CITY>Some City</CITY>
72 * <STATE>Some State</STATE>
73 * <ZIP>00000</ZIP>
74 * <AREA_CODE>111</AREA_CODE>
75 * <PHONE>123-4567</PHONE>
76 * </XCustomerRow>
77 *
78 * and parses it into a SQL INSERT statement before passing the statement onto the database.
79 * Note that the substitution syntax uses the XML document's elements names: {cust.CUSTID}, {cust.NAME}, etc.
80 *
81 * @jc:sql statement::
82 * INSERT INTO customer (custid,name,address,city,state,zip,area_code,phone)
83 * VALUES ({cust.CUSTID},{cust.NAME},{cust.ADDRESS},{cust.CITY},{cust.STATE},
84 * {cust.ZIP},{cust.AREACODE},{cust.PHONE})
85 * ::
86 */
87 public int insertCustomerBean(XCustomerRow cust);
88 }
|