ofbiz分页代码实现

int viewSize = GlobalConstant.VIEW_SIZE;
 int dataSize = 0;
int viewIndex = 0;
        String temp = (String) map.get("viewIndex");
        if (UtilValidate.isNotEmpty(temp)) {
            try {
                viewIndex = Integer.valueOf(temp);
            } catch (NumberFormatException e) {
                viewIndex = 0;
                Debug.logError(e.getMessage().toString(), module);
            }
        }
        int lowIndex = viewIndex * viewSize + 1;
        int highIndex = (viewIndex + 1) * viewSize;

List<EntityCondition> condition = makeCondition(map);
        EntityListIterator eli = null;
        List<GenericValue> product = null;
        try {
            eli = delegator.find("test", EntityCondition.makeCondition(condition), null, null, UtilMisc
                            .toList(sortBy), null);
            product = eli.getPartialList(lowIndex, viewSize);
            eli.last();
            dataSize = eli.currentIndex();
        } catch (GenericEntityException e) {
            Debug.logInfo(e.getMessage().toString(), module);
        } finally {
            try {
                if (eli != null) {
                    eli.close();
                    eli = null;
                }

            } catch (GenericEntityException e) {
                Debug.logError(e.getMessage().toString(), module);
            }
        }
	if (highIndex > dataSize) {
            highIndex = dataSize;
        }

 最主要的是:使用find方法,EntityListIterator现调用getPartialList方法

你可能感兴趣的:(sql,Hibernate,ibatis)