|
|
|
Сортировка, фильтрация, постраничная загрузка в web-приложении
|
|||
|---|---|---|---|
|
#18+
Здравствуйте всем! Помогите, пожалуйста советом. Я еще новичок в web-программировании, поэтому сильно не пинайте. Ситуация следующая. Пишу основанное на сервлетах web-приложение в IBM Rational 6.0. Выбрана СУБД DB2. Структура базы такова - таблица-родитель и несколько таблиц-детей. На каждую таблицу создан класс, свойства которого соответствуют полям таблицы, а методы позволяют с ней работать. Операции основаны на SQL-скриптах. Например, метод readAll соединяется с базой и запускает простой скрипт "SELECT * FROM "+authId+".PERSONS", а затем результаты выборки запихивает в коллекцию. Эта коллекция и отображается в таблице одной из JSP-страниц. Остальные методы работают аналогично - соединяются, подготавливают скрипт и запускают его. Помоему, такой подход называется MVC, если не ошибаюсь. И тут встал вопрос о наболевшем. Как правильно реализовать постраничную загрузку данных (таблица-родитель может содержать немало записей), сортировку по столбцам в таблице JSP и фильтр данных? Есть некоторые соображения. Поскольку таблицы-дети не содержат большого количества записей (в моем случае), то постраничная загрузка там не нужна и сортировку данных можно выполнить используя java.util.Collections. Это же для таблицы-родителя, вероятно, нужно реализовать через соответствующие SQL-скрипты. Т.е. для сортировки использовать метод класса, который бы извлекал коллекцию записей с помощью скрипта "... ORDER BY ...", а для фильтра - с помощью скрипта "... WHERE ...". Тогда какой скрипт использовать для постраничной загрузки? В такой реализации получаем, что при каждой операции пользователя (сортировка, фильтр, и т.д.), будет обращение к базе. Вообще, в правильном ли направлении я мыслю? Помогите советом, или дайте ссылку на информацию. Заранее благодарен С уважением, Семен Попов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 09:22:34 |
|
||
|
Сортировка, фильтрация, постраничная загрузка в web-приложении
|
|||
|---|---|---|---|
|
#18+
авторсортировку данных можно выполнить используя java.util.Collections фу ... тепрь о pagingе из вот этого Код: plaintext Код: plaintext в этот же select можно добавить count(*) что бы избежать второго запроса для расчёта кол-ва страниц (хотя я делаю по другому) сортировка при pagingе в любом случае перезапрос. вам может подойт вариант с первоначальной выборкой всех ID, и последующе выборкой записей по страницам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 12:12:34 |
|
||
|
Сортировка, фильтрация, постраничная загрузка в web-приложении
|
|||
|---|---|---|---|
|
#18+
expp авторсортировку данных можно выполнить используя java.util.Collectionsфу ... А что тут не так? По-моему в этом же форуме я видел такие предложения. exppтепрь о pagingе Спасибо, попробую. Нумерация страниц начинается с 1? Т.е. для первой страницы скрипт будет таким "... as temp_ where rownumber_ between 2 and 1"? А задавать максимальное количество записей на странице с помощью такого скрипта можно? exppв этот же select можно добавить count(*) что бы избежать второго запроса для расчёта кол-ва страниц А как будет выглядеть скрипт? exppвам может подойт вариант с первоначальной выборкой всех ID, и последующе выборкой записей по страницам Если я правильно понял, разбивать на страницы, используя интервалы ID записи. В первую страницу записи с ID в интервале от 1 до 100, во вторую - от 101 до 200 и т.д. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 13:07:09 |
|
||
|
Сортировка, фильтрация, постраничная загрузка в web-приложении
|
|||
|---|---|---|---|
|
#18+
Semen Popov А что тут не так? По-моему в этом же форуме я видел такие предложения. не аргумент Semen Popov Спасибо, попробую. Нумерация страниц начинается с 1? Т.е. для первой страницы скрипт будет таким "... as temp_ where rownumber_ between 2 and 1"? А задавать максимальное количество записей на странице с помощью такого скрипта можно? нет rownumber_ between - это как и следовало подозревать диапазон номеров строк и почитайте доки .... Semen Popov А как будет выглядеть скрипт? он будет выглядеть клёво Semen PopovЕсли я правильно понял, разбивать на страницы, используя интервалы ID записи. В первую страницу записи с ID в интервале от 1 до 100, во вторую - от 101 до 200 и т.д. Так? правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2007, 14:55:39 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34494507&tid=2145893]: |
0ms |
get settings: |
15ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
46ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 311ms |
| total: | 500ms |

| 0 / 0 |
