powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC необязательные параметры
25 сообщений из 158, страница 3 из 7
JDBC необязательные параметры
    #39701510
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcarа как ты предлагаешь использовать PreparedStatement, когда количество параметров и их положение заранее не известны?вот только не надо путать поиск и выборку
по числовым поля не ищут, если ты "суперпрограммист субд" и хочешь искать в по числовому полю - то твоё поле превращается в строку и параметр поиска - тоже строка.
так что всё опять сводится к работе со строками.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701512
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczKorcarа как ты предлагаешь
Весь топик сводиться к препераниям "это же сложно" - "нет это не сложно". Конкретный код когда будем приводить?
Это не сложно. ты не верно понимаешь происходящие события. Это муторно, что не одно и то же)

откуда взяться конкретному коду, если технология его написания как раз еще только обсуждается здесь?
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701517
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Korcarоткуда взяться конкретному коду, если технология его написания как раз еще только обсуждается здесь?технологии уже отработаны давно
вопрос выбора для конкретной субд
а ты даже субд не назвал
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701520
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KorcarЭто не сложно. ты не верно понимаешь происходящие события. Это муторно, что не одно и то же)

Муторно писать самому мини-фреймверки и конкатенацию строк? Тогда берешь готовый API. Список я привел первым ответом.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701523
Korcar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяKorcarоткуда взяться конкретному коду, если технология его написания как раз еще только обсуждается здесь?технологии уже отработаны давно
вопрос выбора для конкретной субд
а ты даже субд не назвал
ms sql
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701536
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701544
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этой компании на одного дурака приходилось десять умных, так что силы
были примерно равны


Korcarкак ты предлагаешь использовать PreparedStatement, когда количество параметров и их положение заранее не известны?вот тебе условный код, чтоб ты уже понял идею, доработать по вкусу:

еще раз код условный, для описания самой идеи. для продуктивного использования не подходит
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
List<Object> paramValues = new ArrayList<>();
StringBuilder sql = new StringBuilder("select * from orders where ")
if (isNotBlank(name))) {
  sql.append("name like ?");
  paramValues.add(name);
}
if (personalNumber != null) {
  sql.append("and personalNumber = ?");
  paramValues.add(personalNumber);
}


//где-то дальше, когда все ненулевые параметры определены, а их порядок нам известен благодаря List
ps = createPreparedStatement(sql.toString());
for (int i = 0; i < paramValues.size(); i++) {
  ps.setObject(i+1, paramValues.get(i));
}


теперь понятно?
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701593
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
sql.append("name like '%?%'");
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701601
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
это понятно, я просто хотел показать идею построения разных запросов в зависимости от типа параметра - для большего этот код все равно не годится по массе причин
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701618
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaЭто понятно, я просто хотел показать идею построения разных запросов в зависимости от типа параметра - для большего этот код все равно не годится по массе причин а вдруг будут к тебе претензии? ведь возник вопрос про кавычки :)
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701619
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ
Код: sql
1.
select * from 


звезда - тормоз, надо указывать поля
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701624
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадязвезда - тормоз, надо указывать поля
вопрос индексирования тоже не раскрыт

вадяа вдруг будут к тебе претензии?
сошлюсь на мелкий шрифт ;)
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701819
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что надо поиск like a Google?

Тема вроде не так начиналась.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701831
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА что надо поиск like a Google?

Тема вроде не так начиналась.не знаю как для ТС,
но в моей практике - поиск like очень облегчил жизнь менеджерам
и ещё лет 20 назад позволил отказаться от сокращённого названия контрагентов, как это было у 1с...
у меня было 1 поле с полным названием и элементарно ищется...
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701878
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Топик зашел вникуда. Давайте вернем его в какое-то инженерное русло. Тема гугло-поиска в базах - вызывает
зубной скрежет у DBA. Но давайте уберем за скобки конкретную БД. Допустим по ту сторону интерфейса действительно
стоит генерализованная БД и мы такие типа а вот бы найди в неизвестной бд все таблицы и все записи
где есть строка "blah-blah".

Я предлагаю такой интерфейс.

Код: java
1.
2.
3.
4.
5.
6.
7.
public interface ITextSearchableDatabase {

  void setConnection(Connection conn);

  Iterator<String,Map<String,String>> lookup(String text);

}



Юзкейс такой. Устанавливаем свойство connection.
Ищем lookup("blah-blah"). В результате получаем список документов типа
таблица + список кортежей (строк(сущностей)) где key - название колонки
а value - найденные значения где есть искомое "бла-бла".

Для простоты будем искать только number и varchar поля. Прочие - в игнор.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701890
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да) Но это не jdbc.
По jdbc мы запрашиваем у АПИ базы перечень таблиц и их полей и тупо перебираем.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701898
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123mayton,
Да) Но это не jdbc.
Почему?
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701908
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Может я не понял идею, но выше увидел только декларацию интерфейса.
Намерения. Реализацию не увидел.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701910
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТема гугло-поиска в базах - вызывает
зубной скрежет у DBA.насколько я смотрел нагрузки при like - если есть память - нет проблем.
по твоему идём на поводу dba, и городим на java аналог работы субд - в результате система теряет в быстродействии
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701919
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123mayton,
Может я не понял идею, но выше увидел только декларацию интерфейса.
Намерения. Реализацию не увидел.
Совершенно верно. Я обсуждаю пока только идею на уровне фасада. Или того угла зрения
под которым на это будут смотреть.

Вам нравится идея?
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701922
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton...Но давайте уберем за скобки конкретную БД. ...
Если в таком ключе, то для IBM Lotus Notes, например, это вполне повседневная обычная задача не вызывающая никаких трудностей. Для CouchDb
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701923
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяmaytonТема гугло-поиска в базах - вызывает
зубной скрежет у DBA.насколько я смотрел нагрузки при like - если есть память - нет проблем.
по твоему идём на поводу dba, и городим на java аналог работы субд - в результате система теряет в быстродействии

1) Like создает нагрузку класса full-table scan. В нашем кейсе будут профулсканены
100% таблиц и 100% строк во всех таблицах. Долго. Нудно. Возможно придется
подождать пару часиков. Но разве клиента который хочет найти бла-бла это скребёт.
Он говорит - хочу бла-бла. Ждать сколько? Да хоть неделю. Найдите мне бла-бла...

Что за этим скрыто? Номер счета. Физ-лицо. Сумма платежа. Пох.

2) Ничего мы не городим. У нас на вход приходит:
- java.sql.Connection
- "blah-blah"

Я считаю что этих сведений достаточно чтобы найти like a google

Поскипаем скорость. Просто говорим о принципиальной возможности.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701925
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrickmayton...Но давайте уберем за скобки конкретную БД. ...
Если в таком ключе, то для IBM Lotus Notes, например, это вполне повседневная обычная задача не вызывающая никаких трудностей. Для CouchDb
Давайте сверх-задачу. Мы не знаем сведений о СУБД.

Но я верю что информации которую поставляет нам DbmsMetadata достаточно чтобы решить задачу в том ракурсе
в котором я нарисовал интерфейс.
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701927
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DbmsMetadata
DatabaseMetadata
...
Рейтинг: 0 / 0
JDBC необязательные параметры
    #39701936
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жаль.
...
Рейтинг: 0 / 0
25 сообщений из 158, страница 3 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / JDBC необязательные параметры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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