pureQuery のネストされた Bean のサンプルのテスト

テスト・メソッドは pureQuery® メソッドを呼び出して、Bean をインスタンス化し、データを設定します。 このテスト・メソッドは、それらの Bean の内容のリストを生成します。

完全な JUnit テスト・クラスについては、pureQuery のネストされた Bean サンプルのための JUnit テスト・クラスを参照してください。

SQL 照会が含まれるインターフェースで定義するネストされた Bean のテスト・メソッド

このテストでは、SQL ステートメントは SimpleQueryInterface インターフェースに入っています。 以下のネストされた Bean をテストします。
    public void test_joinTest1() throws Exception {
        System.out.println("==Test1 nested beans with interface==");
        SimpleQueryInterface data = null;
        data = DataFactory.getData(SimpleQueryInterface.class, jdbcCon);

        System.out.println("==Get Dept data ==");
        List<Dept1> depts = data.joinTest();

        System.out.println("Employees by Dept:");
        for (Dept1 d : depts) {
            System.out.println(d.getDeptCode() + " - " + d.getDeptNameEn());
            List<Emp> employees = d.getDeptEmployees();
            if (!employees.isEmpty()) {
                for (Emp e : employees) {
                    System.out.println("  " + e.getLastName() + ", "
                            + e.getFirstName() + ",  " + e.toString());
                }
            } else {
                System.out.println(" -- No Employees-- ");
            }
        }
    }
1 つの部門のリストのサンプルを以下に示します。
7810 - Production and Distribution
  Agostini, Massimo,  ID: 10481
  Boscolo, Gabriella,  ID: 10480
  Ferrari, Arabela,  ID: 10304
  Gallo, Feliti,  ID: 10632
  Lombardi, Isabella,  ID: 10482
  Marino, Gualtier,  ID: 10793
  Medina, Benicio,  ID: 10483
  Morales, Ada,  ID: 10306

インライン SQL 照会で定義するネストされた Bean のテスト・メソッド

このテストでは、各部門の従業員のリストを生成します。 以下のネストされた Bean をテストします。
public void test_joinTest2() throws Exception {
        System.out.println("==Test2 nested bean with Inline SQL==");
        Data data = null;
        String myDeptNo = "6820";
        data = DataFactory.getData(jdbcCon);

        List<Dept2> depts = data
            queryList(
               "SELECT E.EMPLOYEE_CODE, E.FIRST_NAME, E.LAST_NAME, E.DATE_HIRED, "
                  + " ORG.ORGANIZATION_CODE, ORG.ORGANIZATION_NAME_EN"
                  + " FROM EMPLOYEE AS E, EMPLOYEE_HISTORY AS EH, ORGANIZATION AS ORG"
                  + " WHERE EH.EMPLOYEE_CODE = E.EMPLOYEE_CODE "
                  + "   AND EH.ORGANIZATION_CODE = ORG.ORGANIZATION_CODE"
                  + "   AND EH.RECORD_END_DATE IS NULL "
                  + " ORDER BY EH.ORGANIZATION_CODE, E.LAST_NAME ",
               Dept2.class);

        System.out.println("Employees by Dept:");
        for (Dept2 d : depts) {
            System.out.println(d.deptCode + " - " + d.deptNameEn);
            List<Emp> employees = d.deptEmployees;
            if (!employees.isEmpty()) {
                for (Emp e : employees) {
                    System.out.println("  " + e.getLastName() + ", "
                            + e.getFirstName() + ",  " + e.toString());
                }
            } else {
                System.out.println(" -- No Employees-- ");
            }
        }
    }
注: インライン SQL のテストでは、Dept2 の参照を Dept1 の参照に置き換えることもできます。 Dept2 クラスでは、get メソッドと set メソッドで Bean プロパティーを定義しています。 Dept1 クラスでは、public フィールドで Bean プロパティーを定義しています。
1 つの部門のリストのサンプルを以下に示します。
7810 - Production and Distribution
  Agostini, Massimo,  ID: 10481
  Boscolo, Gabriella,  ID: 10480
  Ferrari, Arabela,  ID: 10304
  Gallo, Feliti,  ID: 10632
  Lombardi, Isabella,  ID: 10482
  Marino, Gualtier,  ID: 10793
  Medina, Benicio,  ID: 10483
  Morales, Ada,  ID: 10306

Feedback