public <T> int executeCountQuery(Class<T> clz, Map<String, Object> props) throws BasException {
		ResultSet result = null;
		try {
			con = connMgr.getConnection("");
			log.debug("Thread No[" + Thread.currentThread().getId() + "]," + "SQL Connection[ " + con + " ], Where[executeQuery]");
			preStmt = con.prepareStatement(JdbcUtil.createCountSqlByProp(clz, props));
			JdbcUtil.supplyQuestionMark(clz, preStmt, null, props, BasConstants.SQL_SELECT);
			result = preStmt.executeQuery();
			if (result != null) {
				while (result.next()) {
					return result.getInt("num");
				}
			}
		} catch (Exception e) {
			log.error(e.getMessage(), e);
			throw new BasException(BasErrCode.E10004, clz.getSimpleName(), props.toString());
		} finally {
			close(result);
		}
		return 0;
	}