コード例 #1
0
  public Order getOrder(int orderId) throws DataAccessException {
    SQLQuery sqlQuery =
        template
            .newSqlQuery()
            .from(qOrders)
            .from(qOrderStatus)
            .where(qOrders.orderid.eq(orderId).and(qOrders.orderid.eq(qOrderStatus.orderid)));

    Order order =
        template.queryForObject(
            sqlQuery,
            new MappingOrderProjection(
                qOrders.billaddr1,
                qOrders.billaddr2,
                qOrders.billcity,
                qOrders.billcountry,
                qOrders.billstate,
                qOrders.billtofirstname,
                qOrders.billtolastname,
                qOrders.billzip,
                qOrders.shipaddr1,
                qOrders.shipaddr2,
                qOrders.shipcity,
                qOrders.shipcountry,
                qOrders.shipstate,
                qOrders.shiptofirstname,
                qOrders.shiptolastname,
                qOrders.shipzip,
                qOrders.cardtype,
                qOrders.courier,
                qOrders.creditcard,
                qOrders.exprdate,
                qOrders.locale,
                qOrders.orderdate,
                qOrders.orderid,
                qOrders.totalprice,
                qOrders.userid,
                qOrderStatus.status));

    if (order != null) {
      SQLQuery lineItemsSqlQuery =
          template.newSqlQuery().from(qLineItem).where(qLineItem.orderid.eq(orderId));

      List<LineItem> lineItems =
          template.query(
              lineItemsSqlQuery,
              new MappingLineItemProjection(
                  qLineItem.orderid,
                  qLineItem.linenum,
                  qLineItem.itemid,
                  qLineItem.quantity,
                  qLineItem.unitprice));

      order.setLineItems(lineItems);
    }

    return order;
  }
コード例 #2
0
  public List getOrdersByUsername(String username) throws DataAccessException {
    SQLQuery sqlQuery =
        template
            .newSqlQuery()
            .from(qOrders)
            .from(qOrderStatus)
            .where(qOrders.userid.eq(username).and(qOrders.orderid.eq(qOrderStatus.orderid)));

    return template.query(
        sqlQuery,
        new MappingOrderProjection(
            qOrders.billaddr1,
            qOrders.billaddr2,
            qOrders.billcity,
            qOrders.billcountry,
            qOrders.billstate,
            qOrders.billtofirstname,
            qOrders.billtolastname,
            qOrders.billzip,
            qOrders.shipaddr1,
            qOrders.shipaddr2,
            qOrders.shipcity,
            qOrders.shipcountry,
            qOrders.shipstate,
            qOrders.shiptofirstname,
            qOrders.shiptolastname,
            qOrders.shipzip,
            qOrders.cardtype,
            qOrders.courier,
            qOrders.creditcard,
            qOrders.exprdate,
            qOrders.locale,
            qOrders.orderdate,
            qOrders.orderid,
            qOrders.totalprice,
            qOrders.userid,
            qOrderStatus.status));
  }