powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Выборка из БД
19 сообщений из 19, страница 1 из 1
Выборка из БД
    #38835502
Tom Hardy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, написал программу, которая создает в БД документы в формате JSON в виде:
{
"time": "2014.12.16 16:05:32.076+0300",
"count": "1"
...
}

По заданию необходимо сделать сервлет для выборки по какому-либо полю.
Просьба подсказать что это означает? Типа выбрать документы, созданные 16.12.2014?
...
Рейтинг: 0 / 0
Выборка из БД
    #38835523
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tom HardyЗдравствуйте, написал программу, которая создает в БД документы в формате JSON в виде:
{
"time": "2014.12.16 16:05:32.076+0300",
"count": "1"
...
}

По заданию необходимо сделать сервлет для выборки по какому-либо полю.
Просьба подсказать что это означает? Типа выбрать документы, созданные 16.12.2014?

это значит, что в баззе надо хранить так как требуется , а не та как в голову пришло....
...
Рейтинг: 0 / 0
Выборка из БД
    #38835531
True Detective
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,

Подскажите плз как это должно быть реализовано?
Например, создаем сервлет по полю count, вводим localhost:8080/.../viborka

после чего документы сохраняются в порядке, например, по убыванию числа count, так?
...
Рейтинг: 0 / 0
Выборка из БД
    #38835560
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tom Hardy,

NoSQL, какой?
...
Рейтинг: 0 / 0
Выборка из БД
    #38835586
True Detective
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zalexaka,

CouchBase server
...
Рейтинг: 0 / 0
Выборка из БД
    #38835934
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в этом КучБейс есть понятие "индекса по дате"?
...
Рейтинг: 0 / 0
Выборка из БД
    #38836027
True Detective
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

Нету. да и не нужно по дате, главное чтобы механизм для выборок был
Необходимо написать сервлет для выборки по какому-нибудь полю

Объясните пожалуйста по русски как это должно выглядеть)
Сделать возможность упорядочивания и все?
...
Рейтинг: 0 / 0
Выборка из БД
    #38836034
True Detective
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я упорядочивание по полю уже сделал, мелочи остались, интересно это и есть выборка?)
...
Рейтинг: 0 / 0
Выборка из БД
    #38836044
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
True Detective, чет я не понял. Tom Hardy - это твой клон?

P.S. Читаю здесь

http://guide.couchdb.org/draft/views.html

Не? Сервлеты знает любой дурак а вот как с твоей кучей работать - ХЗ.
...
Рейтинг: 0 / 0
Выборка из БД
    #38836083
True Detective
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

Я с работы под ним заходил, сейчас из дома работаю, пароль не помню
CouchBase Server и CouchDB разные БД, CBS скорее похож на memcached

Подскажите все-таки пожалуйста - выборка это и есть упорядочивание или нечто иное?)
Как я сейчас представляю - вводишь в строку браузера localhost..../viborka и документы упорядочиваются в определенном порядке?
...
Рейтинг: 0 / 0
Выборка из БД
    #38836264
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уууу как всё запущено...

Что такое базы данных знаете?
Что такое реляционные базы данных знаете?

Выборка - это нахождение N однотипных данных из массива M по каким-либо условиям.
У Вас в примере выбор по условию дата = Х.

Отсюда, путём логических размышлений можно прийти к выводу, что в результате выборки Вы получите на выходе массив от 0 до N объектов, свойства которых отвечают заданному условию.

Как Вы их дальше будете обрабатывать - это уже другой вопрос.

PS. Сервлет это лишь средство обработки запроса от клиента к серверу и ничего более.
...
Рейтинг: 0 / 0
Выборка из БД
    #38836280
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
True Detective, пожалуйста не прикалывайся менять логины. Это реально сбивает с толку.

По теме - непонятно что тебе непонятно. Лучше приведи JSP/Servlet код с "многоточиями" где не понял.
...
Рейтинг: 0 / 0
Выборка из БД
    #38836451
True Detective
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex Kuznetsov,

Что именно запущено? Я и сам так думал, примел привел даже - просто решил уточнить)
А мне отвечают "это значит, что в баззе надо хранить так как требуется , а не та как в голову пришло...." - что и сбило с толку
...
Рейтинг: 0 / 0
Выборка из БД
    #38836453
True Detective
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

Да на момент создания вопроса не было еще никакого кода - как раз и нужно было с нуля сделать выборку)
Сейчас почти закончил, буду пробовать.
...
Рейтинг: 0 / 0
Выборка из БД
    #38837361
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
True DetectiveAlex Kuznetsov,

Что именно запущено? Я и сам так думал, примел привел даже - просто решил уточнить)
А мне отвечают "это значит, что в баззе надо хранить так как требуется , а не та как в голову пришло...." - что и сбило с толку
Запущено именно то, что Вы храните реляционные данные в не реляционном виде (хотя кто знает, может у Вас задача именно такая).
По поводу того, что такое "выборка" я Вам пояснения привёл, по поводу того, что в принципе делает сервлет/JSP, вроде тоже.
Если Вам необходимо получить данные из хранилища и вывести в с использованием сервлета/JSP, то покажите кусок кода, который не получился.

В общих чертах, если выборка по условию поддерживается базой данных, то и пусть она(БД) её и производит, если же такого она (БД) не поддерживает, то тут уж придётся "проходить" по всем записям и сравнивать их характеристики с условиями, совпали - в массив/список/файл и т.д. Затем уже записи из полученного массива выводите в том виде и формате, как того требует задание - HTML/XML/JSON/PlainText/CSV/Excel/PDF и т.д. и т.п.
...
Рейтинг: 0 / 0
Выборка из БД
    #38839262
True Detective
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex Kuznetsov,

Извините, что долго отвечал - не было возможности
По заданию именно так необходимо хранить)

Я нашел пример работы на php - http://habrahabr.ru/post/193942/
Посмотрите пожалуйста, в CouchBase выборка делается через View (вписывается прямо в табличке в браузере), куда вписывается JavaScript (пример с хабра):
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
function (doc, meta) {
    // если тип документа является JSON и в документе присутствует поле login
    if (meta.type == "json" && doc.login) {
        // то из ключа записи достаем userId (он у нас записан через двойное двоеточие)
        var userid = meta.id.split("::");
        // и добавлем полученные данные в индекс ключ/значение
        emit(doc.login, parseInt(userid[1]));
    }
}


Ив индекс попадают только записи, у которых есть поле "login"

А что писать в самом сервлете? Для меня PHP как арабский язык)
...
Рейтинг: 0 / 0
Выборка из БД
    #38839320
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
True DetectiveAlex Kuznetsov,

Извините, что долго отвечал - не было возможности
По заданию именно так необходимо хранить)

Я нашел пример работы на php - http://habrahabr.ru/post/193942/
Посмотрите пожалуйста, в CouchBase выборка делается через View (вписывается прямо в табличке в браузере), куда вписывается JavaScript (пример с хабра):
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
function (doc, meta) {
    // если тип документа является JSON и в документе присутствует поле login
    if (meta.type == "json" && doc.login) {
        // то из ключа записи достаем userId (он у нас записан через двойное двоеточие)
        var userid = meta.id.split("::");
        // и добавлем полученные данные в индекс ключ/значение
        emit(doc.login, parseInt(userid[1]));
    }
}



Ив индекс попадают только записи, у которых есть поле "login"

А что писать в самом сервлете? Для меня PHP как арабский язык)Очевидно, что в сервлете необходимо произвести подключение к БД, сделать выборку, "пройтись" по всем полученным записям, вывести их в том виде в котором того требует ТЗ и закрыть соединение с БД.

Я-бы, например, начал с изучения доступного API для работы с этой базой .
Поняв как можно получить необходимый набор данных дальше уже дело техники относительно вывода.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
...
  try(PrintWriter out = response.getWriter()){
     ...
     ViewResult vr = bucket.query(...);
     out.println("<table>");
     for(ViewRow row:vr.allRows()){
         out.println("<tr>");
         ...
         out.print("<td>");
         out.print(row.document().content().get...(...));
         out.println("</td>");
         ...
         out.println("</tr>");
     }
    out.println("</table>");
  }
...



И вот ещё что нарылось в тырнете на гитхабе:
https://github.com/couchbaselabs/beersample-java/blob/master/src/main/java/com/couchbase/beersample/BreweryServlet.java

PS. Про пример на PHP - если для Вас это как арабский язык, то что же Вы тогда хотите там разобрать-то?
...
Рейтинг: 0 / 0
Выборка из БД
    #38840290
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может алгоритм такой :

1) у вас есть некий класс , который описывает вашу предметную область

Код: java
1.
2.
3.
4.
5.
{
"time": "2014.12.16 16:05:32.076+0300", 
"count": "1"
...
}



с набором полей и getter'ов setter'ов

для него есть мапинг в json

а так же маппинг в вашу базу данных .

Все что вам надо это реализовать простой поиск :

в Hibernate есть Criteria api

http://www.mkyong.com/hibernate/hibernate-criteria-examples/

все что нужно - это в сервлете составить правильный запрос к вашей БД на основе параметром запроса .

так?
...
Рейтинг: 0 / 0
Выборка из БД
    #38842657
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Может алгоритм такой :

1) у вас есть некий класс , который описывает вашу предметную область

Код: java
1.
2.
3.
4.
5.
{
"time": "2014.12.16 16:05:32.076+0300", 
"count": "1"
...
}



с набором полей и getter'ов setter'ов

для него есть мапинг в json

а так же маппинг в вашу базу данных .

Все что вам надо это реализовать простой поиск :

в Hibernate есть Criteria api

http://www.mkyong.com/hibernate/hibernate-criteria-examples/

все что нужно - это в сервлете составить правильный запрос к вашей БД на основе параметром запроса .

так?И к чему тут Hibernate????
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Выборка из БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]