指定されたテーブルのデータを、指定された件数だけ取得

ResultSetMetaDataを使用して作成。
指定された開始位置から終了位置までの、テーブルデータを取得する。

public List getRecordData(String tableName, int startIndex, int endIndex,
		Connection con) throws SQLException {

	List recordList = new ArrayList();

	String sql = "SELECT * FROM " + tableName;

	Statement stmt = con.createStatement();
	ResultSet rs = stmt.executeQuery(sql);

	ResultSetMetaData rsMetaData = rs.getMetaData();
	int columnCount = rsMetaData.getColumnCount();

	// column名を取得
	String[] column = new String[columnCount];

	for (int i = 0; i < columnCount; i++) {
		column[i] = rsMetaData.getColumnName(i + 1);
	}

	recordList.add(column);

	// 開始位置まで移動
	if (rs.relative(startIndex)) {

		do {
			//recordを取得
			String[] record = new String[columnCount];

			for (int i = 0; i < columnCount; i++) {
				record[i] = rs.getString(i + 1);
			}
			recordList.add(record);

			//終了位置までくれば終了
			if (rs.getRow() == endIndex) {
				break;
			}

		} while (rs.next());
	}
	rs.close();
	return recordList;

}