示例#1
0
 @Override
 public List<DivFtDtl> findByFactorNos(String[] factorNos) {
   ISearch search = createSearchTemplete();
   search.addSearchModeParameters(SearchMode.EQUALS, "factorNo", factorNos);
   search.setFirstResult(0).setMaxResults(Integer.MAX_VALUE);
   search.addOrderBy("codeOrder");
   return find(search);
 }
示例#2
0
 @Override
 public DivFtDtl findByFactorNoAndRangeNo(String factorNo, String rangeNos) {
   ISearch search = createSearchTemplete();
   search.addSearchModeParameters(SearchMode.EQUALS, "factorNo", factorNo);
   search.addSearchModeParameters(SearchMode.EQUALS, "rangeNo", rangeNos);
   search.setFirstResult(0).setMaxResults(Integer.MAX_VALUE);
   search.addOrderBy("rangeNo");
   return findUniqueOrNone(search);
 }
示例#3
0
 public Page<Map<String, Object>> queryForPage(String sqlId, ISearch search) {
   CapSqlSearchQueryProvider provider = new CapSqlSearchQueryProvider(search);
   String _sql = sqlp.getValue(sqlId, sqlId);
   StringBuffer sourceSql =
       new StringBuffer(_sql)
           .append(_sql.toUpperCase().lastIndexOf("WHERE") > 0 ? " AND " : " WHERE ")
           .append(provider.generateWhereCause());
   Map<String, Object> params = new HashMap<String, Object>();
   params.put(CapJdbcContants.SQLPaging_SourceSQL, sourceSql.toString());
   // 準備查詢筆數sql
   StringBuffer sql =
       new StringBuffer()
           .append(
               CapDbUtil.spelParser(
                   (String) sqltemp.getValue(CapJdbcContants.SQLPaging_TotalPage),
                   params,
                   sqlp.getParserContext()));
   sql.append(' ').append(sqltemp.getValue(CapJdbcContants.SQLQuery_Suffix, ""));
   if (logger.isTraceEnabled()) {
     logger.trace(
         new StringBuffer("\n\t")
             .append(CapDbUtil.convertToSQLCommand(sql.toString(), provider.getParams()))
             .toString());
   }
   String sqlRow = sql.toString();
   // 準備查詢list sql
   sourceSql.append(provider.generateOrderCause());
   params.put(CapJdbcContants.SQLPaging_SourceSQL, sourceSql.toString());
   sql =
       new StringBuffer()
           .append(
               CapDbUtil.spelParser(
                   (String) sqltemp.getValue(CapJdbcContants.SQLPaging_Query),
                   params,
                   sqlp.getParserContext()));
   sql.append(' ').append(sqltemp.getValue(CapJdbcContants.SQLQuery_Suffix, ""));
   if (logger.isTraceEnabled()) {
     logger.trace(
         new StringBuffer("\n\t")
             .append(CapDbUtil.convertToSQLCommand(sql.toString(), provider.getParams()))
             .toString());
   }
   long cur = System.currentTimeMillis();
   try {
     int totalRows = super.queryForInt(sqlRow, provider.getParams());
     List<Map<String, Object>> list = super.queryForList(sql.toString(), provider.getParams());
     return new Page<Map<String, Object>>(
         list, totalRows, search.getMaxResults(), search.getFirstResult());
   } catch (Exception e) {
     throw new CapDBException(e, causeClass);
   } finally {
     logger.info("CapNamedJdbcTemplate spend {} ms", (System.currentTimeMillis() - cur));
   }
 } // ;
示例#4
0
 @Override
 public DivFtDtl findByFactorNo(String factorNo) {
   ISearch search = createSearchTemplete();
   search.addSearchModeParameters(SearchMode.EQUALS, "factorNo", factorNo);
   return findUniqueOrNone(search);
 }