Example usage for org.apache.ibatis.session RowBounds RowBounds

List of usage examples for org.apache.ibatis.session RowBounds RowBounds

Introduction

In this page you can find the example usage for org.apache.ibatis.session RowBounds RowBounds.

Prototype

public RowBounds(int offset, int limit) 

Source Link

Usage

From source file:com.glaf.chart.service.impl.MxChartServiceImpl.java

License:Apache License

/**
 * ????//from  www.java  2  s.  co m
 * 
 * @return
 */
public List<Chart> getChartsByQueryCriteria(int start, int pageSize, ChartQuery query) {
    RowBounds rowBounds = new RowBounds(start, pageSize);
    List<Chart> rows = sqlSessionTemplate.selectList("getCharts", query, rowBounds);
    return rows;
}

From source file:com.glaf.cms.info.service.PublicInfoServiceImpl.java

License:Apache License

public List<PublicInfo> getPublicInfosByQueryCriteria(int start, int pageSize, PublicInfoQuery query) {
    RowBounds rowBounds = new RowBounds(start, pageSize);
    List<PublicInfo> rows = sqlSessionTemplate.selectList("getPublicInfos", query, rowBounds);
    return rows;// w  ww.ja  v  a 2  s  . c  om
}

From source file:com.glaf.core.dao.MyBatisEntityDAO.java

License:Apache License

public List<Object> getList(int pageNo, int pageSize, SqlExecutor queryExecutor) {
    int begin = (pageNo - 1) * pageSize;
    List<Object> rows = null;

    Object parameter = queryExecutor.getParameter();
    RowBounds rowBounds = new RowBounds(begin, pageSize);

    if (parameter != null) {
        rows = getSqlSession().selectList(queryExecutor.getStatementId(), parameter, rowBounds);
    } else {//w w  w .  j  a  v a  2 s. co m
        rows = getSqlSession().selectList(queryExecutor.getStatementId(), null, rowBounds);
    }
    return rows;
}

From source file:com.glaf.core.dao.MyBatisEntityDAO.java

License:Apache License

public Paging getPage(int pageNo, int pageSize, SqlExecutor countExecutor, SqlExecutor queryExecutor) {
    if (pageSize <= 0) {
        pageSize = Paging.DEFAULT_PAGE_SIZE;
    }/*from  w w w .  j  a v a 2 s  .c  o m*/
    if (pageNo <= 0) {
        pageNo = 1;
    }

    Object object = null;
    int totalCount = 0;
    Paging page = new Paging();
    SqlSession session = getSqlSession();

    Object parameter = countExecutor.getParameter();
    if (parameter != null) {
        object = session.selectOne(countExecutor.getStatementId(), parameter);
    } else {
        object = session.selectOne(countExecutor.getStatementId());
    }

    if (object instanceof Integer) {
        Integer iCount = (Integer) object;
        totalCount = iCount.intValue();
    } else if (object instanceof Long) {
        Long iCount = (Long) object;
        totalCount = iCount.intValue();
    } else if (object instanceof BigDecimal) {
        BigDecimal bg = (BigDecimal) object;
        totalCount = bg.intValue();
    } else if (object instanceof BigInteger) {
        BigInteger bi = (BigInteger) object;
        totalCount = bi.intValue();
    } else {
        String value = object.toString();
        totalCount = Integer.parseInt(value);
    }

    if (totalCount == 0) {
        page.setRows(new java.util.ArrayList<Object>());
        page.setCurrentPage(0);
        page.setPageSize(0);
        page.setTotal(0);
        return page;
    }

    page.setTotal(totalCount);

    int maxPageNo = (page.getTotal() + (pageSize - 1)) / pageSize;
    if (pageNo > maxPageNo) {
        pageNo = maxPageNo;
    }

    List<Object> rows = null;

    Object queryParams = queryExecutor.getParameter();

    int begin = (pageNo - 1) * pageSize;

    RowBounds rowBounds = new RowBounds(begin, pageSize);

    if (queryParams != null) {
        rows = session.selectList(queryExecutor.getStatementId(), queryParams, rowBounds);
    } else {
        rows = session.selectList(queryExecutor.getStatementId(), null, rowBounds);
    }

    page.setRows(rows);
    page.setPageSize(pageSize);
    page.setCurrentPage(pageNo);

    logger.debug("params:" + queryParams);
    logger.debug("rows size:" + rows.size());

    return page;
}

From source file:com.glaf.core.entity.mybatis.MyBatisEntityDAOImpl.java

License:Apache License

public List<Object> getList(int pageNo, int pageSize, SqlExecutor queryExecutor) {
    if (pageNo < 1) {
        pageNo = 1;/*from w w  w . jav a2s  .com*/
    }
    if (pageSize <= 0) {
        pageSize = Paging.DEFAULT_PAGE_SIZE;
    }

    int begin = (pageNo - 1) * pageSize;

    logger.debug("begin:" + begin);
    logger.debug("pageSize:" + pageSize);
    List<Object> rows = null;

    Object parameter = queryExecutor.getParameter();
    RowBounds rowBounds = new RowBounds(begin, pageSize);

    if (parameter != null) {
        rows = getSqlSession().selectList(queryExecutor.getStatementId(), parameter, rowBounds);
    } else {
        rows = getSqlSession().selectList(queryExecutor.getStatementId(), null, rowBounds);
    }
    return rows;
}

From source file:com.glaf.core.entity.mybatis.MyBatisEntityDAOImpl.java

License:Apache License

public Paging getPage(int pageNo, int pageSize, SqlExecutor countExecutor, SqlExecutor queryExecutor) {
    if (pageNo < 1) {
        pageNo = 1;/*  www  .  java2  s . c o  m*/
    }
    if (pageSize <= 0) {
        pageSize = Paging.DEFAULT_PAGE_SIZE;
    }

    Object object = null;
    int totalCount = 0;
    Paging page = new Paging();
    SqlSession session = getSqlSession();

    Object parameter = countExecutor.getParameter();
    if (parameter != null) {
        object = session.selectOne(countExecutor.getStatementId(), parameter);
    } else {
        object = session.selectOne(countExecutor.getStatementId());
    }

    if (object instanceof Integer) {
        Integer iCount = (Integer) object;
        totalCount = iCount.intValue();
    } else if (object instanceof Long) {
        Long iCount = (Long) object;
        totalCount = iCount.intValue();
    } else if (object instanceof BigDecimal) {
        BigDecimal bg = (BigDecimal) object;
        totalCount = bg.intValue();
    } else if (object instanceof BigInteger) {
        BigInteger bi = (BigInteger) object;
        totalCount = bi.intValue();
    } else {
        String value = object.toString();
        totalCount = Integer.parseInt(value);
    }

    if (totalCount == 0) {
        page.setRows(new java.util.ArrayList<Object>());
        page.setCurrentPage(0);
        page.setPageSize(0);
        page.setTotal(0);
        return page;
    }

    page.setTotal(totalCount);

    int maxPageNo = (page.getTotal() + (pageSize - 1)) / pageSize;
    if (pageNo > maxPageNo) {
        pageNo = maxPageNo;
    }

    List<Object> rows = null;

    Object queryParams = queryExecutor.getParameter();

    int begin = (pageNo - 1) * pageSize;

    logger.debug("begin:" + begin);
    logger.debug("pageSize:" + pageSize);

    RowBounds rowBounds = new RowBounds(begin, pageSize);

    if (queryParams != null) {
        rows = session.selectList(queryExecutor.getStatementId(), queryParams, rowBounds);
    } else {
        rows = session.selectList(queryExecutor.getStatementId(), null, rowBounds);
    }

    page.setRows(rows);
    page.setPageSize(pageSize);
    page.setCurrentPage(pageNo);

    if (LogUtils.isDebug()) {
        logger.debug("params:" + queryParams);
        logger.debug("rows size:" + rows.size());
    }

    return page;
}

From source file:com.glaf.core.entity.mybatis.MyBatisOffsetLimitInterceptor.java

License:Apache License

void processIntercept(final Object[] queryArgs) {
    // queryArgs = query(MappedStatement ms, Object parameter, RowBounds
    // rowBounds, ResultHandler resultHandler)
    MappedStatement ms = (MappedStatement) queryArgs[MAPPED_STATEMENT_INDEX];
    Object parameter = queryArgs[PARAMETER_INDEX];
    final RowBounds rowBounds = (RowBounds) queryArgs[ROWBOUNDS_INDEX];
    int offset = rowBounds.getOffset();
    int limit = rowBounds.getLimit();

    String currentSystemName = Environment.getCurrentSystemName();
    Dialect dialect = null;//from w  ww  . j  a v  a2 s  . c om
    if (conf.getBoolean("useDatabaseDialect", true)) {
        if (dialects.isEmpty()) {
            Map<String, Dialect> rows = DBConfiguration.getDatabaseDialects();
            Iterator<Entry<String, Dialect>> iterator = rows.entrySet().iterator();
            while (iterator.hasNext()) {
                Entry<String, Dialect> entry = iterator.next();
                String key = (String) entry.getKey();
                Dialect d = entry.getValue();
                dialects.put(key, d);
            }
        }
        logger.debug("currentSystemName:" + currentSystemName);
        dialect = dialects.get(currentSystemName);
    }
    if (dialect != null && dialect.supportsLimit()
            && (offset != RowBounds.NO_ROW_OFFSET || limit != RowBounds.NO_ROW_LIMIT)) {
        logger.debug("dialect:" + dialect.getClass().getName());
        BoundSql boundSql = ms.getBoundSql(parameter);
        String sql = boundSql.getSql().trim();
        if (dialect.supportsLimit()) {
            sql = dialect.getLimitString(sql, offset, limit);
            offset = RowBounds.NO_ROW_OFFSET;
        } else {
            sql = dialect.getLimitString(sql, 0, limit);
        }
        limit = RowBounds.NO_ROW_LIMIT;

        queryArgs[ROWBOUNDS_INDEX] = new RowBounds(offset, limit);

        BoundSql newBoundSql = copyFromBoundSql(ms, boundSql, sql);

        MappedStatement newMs = copyFromMappedStatement(ms, new BoundSqlSqlSource(newBoundSql));
        queryArgs[MAPPED_STATEMENT_INDEX] = newMs;
        if (logger.isDebugEnabled()) {
            String sql2 = newBoundSql.getSql();
            SQLFormatter f = new SQLFormatter();
            sql2 = f.format(sql2);
            logger.debug("limit sql:\n" + sql2);
        }
    }
}

From source file:com.glaf.core.service.impl.DatabaseServiceImpl.java

License:Apache License

/**
 * ????/*w  ww .ja  va2 s.  co m*/
 * 
 * @return
 */
public List<Database> getDatabasesByQueryCriteria(int start, int pageSize, DatabaseQuery query) {
    RowBounds rowBounds = new RowBounds(start, pageSize);
    List<Database> rows = sqlSessionTemplate.selectList("getDatabases", query, rowBounds);
    return rows;
}

From source file:com.glaf.core.service.impl.MxDataModelServiceImpl.java

License:Apache License

public List<DataModel> list(int pageNo, int pageSize, DataModelQuery query) {
    int begin = (pageNo - 1) * pageSize;
    if (begin < 0) {
        begin = 0;/*  ww w .j  a v a  2  s  . c om*/
    }
    RowBounds rowBounds = new RowBounds(begin, pageSize);
    List<Map<String, Object>> rows = sqlSession.selectList("getTableDataByDataModelQuery", query, rowBounds);
    List<DataModel> dataModels = new java.util.ArrayList<DataModel>();
    if (rows != null && !rows.isEmpty()) {
        for (Map<String, Object> dataMap : rows) {
            DataModelEntity model = this.populate(dataMap);
            dataModels.add(model);
        }
    }
    return dataModels;
}

From source file:com.glaf.core.service.impl.MxEntityDefinitionServiceImpl.java

License:Apache License

public List<EntityDefinition> getEntityDefinitionsByQueryCriteria(int start, int pageSize,
        EntityDefinitionQuery query) {/*  w ww .  j av  a  2  s  .  com*/
    RowBounds rowBounds = new RowBounds(start, pageSize);
    List<EntityDefinition> rows = sqlSessionTemplate.selectList("getEntityDefinitions", query, rowBounds);
    return rows;
}