oracle,mysqlページングまとめ

1217 ワード

1.mysqlページングコード
mysql簡単
namesはクエリーするフィールド名を表し、formNameはクエリーのテーブル名を表し、orderクエリーの順序を表し、pageNoは現在のページを表し、pageSizeは各ページに表示されるエントリ数を表し、limitの後のパラメータ:(pageNo-1)*pageSizeはいくつかのエントリからクエリーを表し、pageSizeはクエリーのいくつかのエントリを表す
sql= "select "+ names + "from "+ formName        + order + "limit "        + (pageNo - 1) * pageSize + ","+ pageSize;
2.oracleページングコード
ここではコードクリップ、pageNoは現在のページ、pageSizeは各ページに表示されるエントリ数、sqlはクエリーするビジネスロジックsqlを表します.
 
 

//        ........

	Long start = Long.parseLong(Integer.toString((pageNo - 1) * pageSize));
		Long end = Long.parseLong(Integer.toString(pageNo * pageSize));
		return getLimitString(sql, start, end);
	}

	private static String getLimitString(String sql, Long start, Long end) {
		StringBuffer pagingSelect = new StringBuffer(200);
		pagingSelect
				.append("select * from ( select row_.*, rownum rownum_ from ( ");
		pagingSelect.append(sql);
		pagingSelect.append(" ) row_ where rownum <= " + end
				+ ") where rownum_ > " + start);
		return pagingSelect.toString();
	}