⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testcustomertracking.java

📁 此程序都是企业级 的数据库开发程序 全面揭示了JAVA对数据库的操作
💻 JAVA
字号:
import java.util.*;

import org.jlf.log.*;
import org.jlf.dataMap.*;

/**
 * This class tests the objects of the Recording Java
 * database application ability to track customer purchases
 * and interests in recordings.
 */
public class TestCustomerTracking {

  /**
   * Main method to kick off the tests.
   */
  public static void main(String[] args) {
    Customer cust1, cust2, cust3, cust4;
    Recording rec1, rec2, rec3, rec4, findRec;
    CustomerTrackedRecording ctr1, ctr2, ctr3, ctr4, ctr5, findCtr;

    DataMapper dataMapper = null;

    try {
      cust1 = new Customer("shiney", "shiney@yahoo.com");

      cust2 = new FrequentBuyer("charlemange", "charle@hotmail.com", 
                                "Charlie Charlemange", "123 Main Street", 
                                "Minneapolis", "MN", "55132");

      cust3 = new Corporation("choo", "choo@aol.com", "Chester Sunshine", 
                              "Trains And More...", "431 Broadway", 
                              "Minneapolis", "MN", "55332");

      cust4 = new NonProfitCorporation("honey", "honey@yahoo.com", 
                                       "Honey Princess", 
                                       "Princess For a Day", 
                                       "3390 3rd Ave. North", 
                                       "Minneapolis", "MN", "55133", 
                                       "3390-honey-USMN");

      rec1 = new Recording("Cuts Like A Knife", "Bryan Adams", 
                           "392-0000022", 11.99);

      rec2 = new Recording("Working Class Dog", "Rick Springfield", 
                           "RS-32-1133", 10.99);

      rec3 = new Recording("Come And Join Us", "Petra", "303-9388293", 
                           11.99);

      rec4 = new Recording("Lucky Town", "Bruce Springsteen", 
                           "BK-30-23993", 13.99);

      dataMapper = cust1.getDefaultDataMapper();

      // Create the customers in the database
      cust1.write(dataMapper);
      cust2.write(dataMapper);
      cust3.write(dataMapper);
      cust4.write(dataMapper);

      // Create the recordings in the database
      rec1.write(dataMapper);
      rec2.write(dataMapper);
      rec3.write(dataMapper);
      rec4.write(dataMapper);

      dataMapper.commitWrites();

      // Add some customer trackings.
      // Customer 1 has an interest in Petra recording 3
      ctr1 = 
        new CustomerTrackedRecording(cust1, rec3, 
                                     CustomerTrackingType
                                       .CUSTOMER_INTEREST);
      ctr1.write(dataMapper);

      // Customer 4 has interest in Springfield (2) and Springsteen (4)
      ctr2 = 
        new CustomerTrackedRecording(cust4, rec2, 
                                     CustomerTrackingType
                                       .CUSTOMER_INTEREST);
      ctr2.write(dataMapper);

      ctr3 = 
        new CustomerTrackedRecording(cust4, rec4, 
                                     CustomerTrackingType
                                       .CUSTOMER_INTEREST);
      ctr3.write(dataMapper);

      // Customer 2 has interest in Springsteen (4)
      ctr4 = 
        new CustomerTrackedRecording(cust2, rec4, 
                                     CustomerTrackingType
                                       .CUSTOMER_INTEREST);
      ctr4.write(dataMapper);

      // Customer 3 has purchased in Springfield (2)
      ctr5 = 
        new CustomerTrackedRecording(cust3, rec2, 
                                     CustomerTrackingType
                                       .CUSTOMER_PURCHASE);
      ctr5.write(dataMapper);

      dataMapper.commitWrites();

      // Now for the real test.  Let's see if we can find
      // all customers that have registered an interest
      // in any recording with artist %Spring%, any title.
      // The result should be customer 3 and 4

      // Build Recording object to find artist and title
      findRec = new Recording();
      findRec.setRecordingArtist("%Spring%");
      findRec.setRecordingTitle("%");

      // Build CustomerTrackedRecording object to
      // find the recording above with a tracking type
      // of customer interest
      findCtr = new CustomerTrackedRecording();
      findCtr.setRecording(findRec);
      findCtr
        .setCustomerTrackingType(CustomerTrackingType.CUSTOMER_INTEREST);

      // Find customers by tracking criteria built above
      Vector customersInterestedInSpringArtists = 
        Customer.findByTrackingCriteria(findCtr);

      System.out.println("\nShould have found 2 customers below, one " 
                         + "Frequent Buyer and one Non-Profit Corp.");
      Customer.outputCustomers(customersInterestedInSpringArtists);

      // Next let's find any customers with purchases.
      // The result should be corporate customer 2 only

      // Build Recording object to find any artist and title
      findRec = new Recording();
      findRec.setRecordingArtist("%");
      findRec.setRecordingTitle("%");

      // Build CustomerTrackedRecording object to
      // find the recording above with a tracking type
      // of customer purchase
      findCtr = new CustomerTrackedRecording();
      findCtr.setRecording(findRec);
      findCtr
        .setCustomerTrackingType(CustomerTrackingType.CUSTOMER_PURCHASE);

      // Find customers by tracking criteria built above
      Vector customersWithPurchases = 
        Customer.findByTrackingCriteria(findCtr);

      System.out.println("\nShould have found 1 Corporate customer below");
      Customer.outputCustomers(customersWithPurchases);

      // Wrap it up with a query to find non-volume
      // customer 1, who is interested in Petra's
      // "Come And Join Us" recording

      // Build Recording object to find any artist and title
      findRec = new Recording();
      findRec.setRecordingArtist("%");
      findRec.setRecordingTitle("Come%");

      // Build CustomerTrackedRecording object to
      // find the recording above with a tracking type
      // of customer interest
      findCtr = new CustomerTrackedRecording();
      findCtr.setRecording(findRec);
      findCtr
        .setCustomerTrackingType(CustomerTrackingType.CUSTOMER_INTEREST);

      // Find customers by tracking criteria built above
      Vector customers = Customer.findByTrackingCriteria(findCtr);

      System.out.println("\nShould have found 1 non-volume Customer below");
      Customer.outputCustomers(customers);

      // Delete all tracking relationships
      ctr1.deleteOnWrite();
      ctr1.write(dataMapper);

      ctr2.deleteOnWrite();
      ctr2.write(dataMapper);

      ctr3.deleteOnWrite();
      ctr3.write(dataMapper);

      ctr4.deleteOnWrite();
      ctr4.write(dataMapper);

      ctr5.deleteOnWrite();
      ctr5.write(dataMapper);

      // Delete all customers
      cust1.deleteOnWrite();
      cust1.write(dataMapper);

      cust2.deleteOnWrite();
      cust2.write(dataMapper);

      cust3.deleteOnWrite();
      cust3.write(dataMapper);

      cust4.deleteOnWrite();
      cust4.write(dataMapper);

      dataMapper.commitWrites();

      // Delete all recordings
      rec1.deleteOnWrite();
      rec1.write(dataMapper);

      rec2.deleteOnWrite();
      rec2.write(dataMapper);

      rec3.deleteOnWrite();
      rec3.write(dataMapper);

      rec4.deleteOnWrite();
      rec4.write(dataMapper);

      dataMapper.commitWrites();

    } catch (Exception e) {
      e.printStackTrace();
    } 
    finally {
      if (dataMapper != null) {
        dataMapper.close();
      } 
    } 
  } 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -