|
|
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopОкей. Разделил их что бы не копать один класс у которого будет 3000+ строк. Я заманаюсь искать в нем что либо обычно делают ОРМ и классы сущностей. И там никак не потеряться. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:28 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopДля подключения к бд и работы с ней использую две библиотеки commons dbutils и commons dbcp2 (пул подключений к бд). Мно одно не понятно. Почему не QueryDSL или jOOQ? Намного лучше вашего велосипеда будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:30 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Tsyklopвадя, разные запросы, отвечающие за определенную область в приложенииу меня запросов(точнее хранимок) 100++ и что будет 100++ областей в приложении? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:35 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
вадя, нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:40 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
BlazkowiczTsyklopДля подключения к бд и работы с ней использую две библиотеки commons dbutils и commons dbcp2 (пул подключений к бд). Мно одно не понятно. Почему не QueryDSL или jOOQ? Намного лучше вашего велосипеда будет. Ибо изначально начали писать так. Переписывать нет ни времени ни средств. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:41 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
вадяу меня запросов(точнее хранимок) 100++ и что будет 100++ областей в приложении? вадя, ты реально что ли не врубаешься? у него просто 3 dao, которые он как-то там логически разделил по функционалу - грубо говоря в классе User методы типа getMessages, loadById и т.д., в классе Админ - getUsers, disableUser и т.д., в классе Chat - getRooms, getМеssagesByRoom и т.п. Как он конкретно эти стопицот методов поделил не имеет значения, очевидно же, что так или иначе им не место в одном классе. Или не очевидно ;) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:43 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
вадяTsyklopвадя, разные запросы, отвечающие за определенную область в приложенииу меня запросов(точнее хранимок) 100++ и что будет 100++ областей в приложении? Я сам разбил приложение на разные области. для каждой создал свой класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:43 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
chpasha, ++++++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:45 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Generic DAO pattern уже упоминал кто-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:51 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGeneric DAO pattern уже упоминал кто-нибудь? Не буду я такое использовать. Проект никто под это переписывать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:55 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGeneric DAO pattern уже упоминал кто-нибудь? можно попытаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:56 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Blazkowicz ещё вопросы есть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:56 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopBlazkowiczGeneric DAO pattern уже упоминал кто-нибудь? Не буду я такое использовать. Проект никто под это переписывать не будет. Тогда в чем смысл вопроса, если никто переписывать не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:01 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТогда в чем смысл вопроса, если никто переписывать не будет? Может есть вариант с тем что есть сделать нормально. Как-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:05 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopКак видно конструктор у всех один, но методы разные (дубликатов нет). 1. Я вижу три разных конструктора. А не один. Разные классы - разные конструкторы. 2. То что методы разные это плохо, значит что вы не смогли выделить что-то общее. TsyklopХотелось бы создать один класс который бы смог получить доступ ко всем методам этих трех классов. И ни слова зачем этот класс нужен. И зачем ему доступ ко всем остальным DAO. TsyklopКак правильно такое сделать? Все классы создаются по какой-либо причине. "Доступ ко всем методам" это не причина. Это пагубное желание иметь "золотой молоток". Вы даже не объяснили, если у вас в примере 3 класса. То в реальном проекте больше? Значит "доступ нужен" вообще ко всем возможным методам DAO? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:09 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopМожет есть вариант с тем что есть сделать нормально. Как-то. Начинте с ответа на вопрос что именно вы считаете ненормальным. Тогда можно будет обсудить "нормальное" решение. Дайте больше конкретики, что вы как партизан. Что именно вас не устраивает в вашем коде? Для чего вам нужен ещё один класс? Почему рефакторинг это для вас проблема. Рефакторинг не является "переписыванием". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:11 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, У этих классов не должно быть ничего общего. Методы разные ибо обрабатывают разные запросы к бд, они в принципе не могут быть одинаковыми. В реальном проекте 3 класса тоже. Я хочу уйти от того что я привел в пример в конце самого первого поста. Проблема ибо на это нет времени и средств. А если такое рефакторить то это займет много времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:17 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopУ этих классов не должно быть ничего общего. Это правильно. Всё общее должно быть в родительском классе. Но так как вы общего не замечаете, то оно у вас есть в каждом классе. А родителя нет. TsyklopМетоды разные ибо обрабатывают разные запросы к бд, они в принципе не могут быть одинаковыми. Они не одинаковые, но они схожие. И в этом ошибка. Схожеть должне быть вынесена в общий код. А разница должна оставаться в разных методах и классах. Как бы это не было очевидно, но в вашем коде этого нет. TsyklopВ реальном проекте 3 класса тоже. А если такое рефакторить то это займет много времени. Ммм. ОК. В каждом классе по сотне методов? TsyklopЯ хочу уйти от того что я привел в пример в конце самого первого поста. Не вижу никакого примера в конце поста. В конце вашего поста использование этих классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:22 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
chpashaвадя, ты реально что ли не врубаешься? у него никогда не было DAO )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:22 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Автор! У вас 3 класса по 400 методов каждый. Ещё раз сформулируйте проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:25 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
chpashaвадя, ты реально что ли не врубаешься? у него просто 3 dao, которые он как-то там логически разделил по функционалу - грубо говоря в классе User методы типа getMessages, loadById и т.д., в классе Админ - getUsers, disableUser и т.д., в классе Chat - getRooms, getМеssagesByRoom и т.п. Как он конкретно эти стопицот методов поделил не имеет значения, очевидно же, что так или иначе им не место в одном классе. Или не очевидно ;) ?я то врубился, вот только если б это было изночально правильное разделение, то такого вопроса 21345784 бы не возникло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:27 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, У них схожее так это конструктор. Сами методы похожи разве что такими вот вещами: getQueryRunner().query, getQueryRunner().insert, getQueryRunner().update. Еще могут быть схожи по возвращаемым типам. Но суть разная. К примеру два метода: Код: java 1. 2. 3. 4. 5. 6. 7. Код: java 1. 2. 3. 4. 5. 6. 7. Оба запроса query, но у одного один параметр, у второго в разы больше. Первый возвращает один объект, второй коллекцию и есть которые вообще int возвращают (id записи). В каждом классе почти по 50 (примерно) методов, а может и больше. Но меньше 100 Вот про это использование я и говорю. Что бы ужать это все дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:31 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Petro123у него никогда не было DAO были, просто он не знал, что это DAO ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:39 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopЧто бы ужать это все дело опыт написания репозитария или использования ОРМ есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:39 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
поиграю в угадай мелодию... подозреваю, что ТС пишет в тысяче мест тот же самый код Код: java 1. 2. 3. 4. 5. 6. и хочет это дело как-то упростить, чтобы вместо него писать каждый раз new MySuperClass и вызывать через него свои сотни методов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:42 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39631766&tid=2122111]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
146ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 488ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...