|
|
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
chpashaпоиграю в угадай мелодию... подозреваю, что ТС пишет в тысяче мест тот же самый код Код: java 1. 2. 3. 4. 5. 6. и хочет это дело как-то упростить, чтобы вместо него писать каждый раз new MySuperClass и вызывать через него свои сотни методов. ну не в тысяче, но встречается довольно часто. Спасибо за понимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:44 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopУ них схожее так это конструктор. Сами методы похожи разве что такими вот вещами: getQueryRunner().query, getQueryRunner().insert, getQueryRunner().update. Еще могут быть схожи по возвращаемым типам. Но суть разная. Замечательно. То есть вы видите копипасту, но не считаете её плохой. И в этом проблема вашего кода. Если конкретика - запросы, типы, параметры. Это то что диктует ваша бизнес-логика. А если инфраструктура - то что вы указали выше и то что у вас скопировано и вставлено в каждый метод. И именно потому что ваша инфраструктура эта сплошная копипаста - её тяжело менять. К примеру два метода могли бы выглядеть так: Код: java 1. 2. 3. Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:48 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Tsyklopchpashaи хочет это дело как-то упростить, чтобы вместо него писать каждый раз new MySuperClass и вызывать через него свои сотни методов. ну не в тысяче, но встречается довольно часто. Спасибо за понимание. Синглтоны? Методы же без состояния. Зачем каждый раз новый экземпляр делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:50 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Хм. я понял Вас. Понимаю о чем Вы. Ну хорошо будь как предлагаете Вы. Мне при этом следует все методы слить в один класс? или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:51 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
BlazkowiczTsyklopпропущено... ну не в тысяче, но встречается довольно часто. Спасибо за понимание. Синглтоны? Методы же без состояния. Зачем каждый раз новый экземпляр делать. Не синглы. в каждый класс передаётся DataSource. А там уже берется connection из пула подключений к базе (по умолчанию их 10) ну и дальше уже идут запросы. От этой проблемы я тоже хочу уйти.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:53 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopОт этой проблемы я тоже хочу уйти.... ни разу не писав репо или ОРМ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:56 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopНе синглы. в каждый класс передаётся DataSource. То есть DataSource-ов много разных, что их надо в каждой транзакции свой заводить? Откройте что ли ThreadLocal и AOP для себя. Если бы вы изучили Spring и прочитали Enterprise Patterns Фаулера и Clean Code Мартина, то вопросов бы у вас было намного меньше. Потому как все ваши проблемы в них обмусолены и решены уже более десяти лет назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:57 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Petro123TsyklopОт этой проблемы я тоже хочу уйти.... ни разу не писав репо или ОРМ? нет. опыта такого нет пока что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:57 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
BlazkowiczTsyklopНе синглы. в каждый класс передаётся DataSource. То есть DataSource-ов много разных, что их надо в каждой транзакции свой заводить? Откройте что ли ThreadLocal и AOP для себя. Если бы вы изучили Spring и прочитали Enterprise Patterns Фаулера и Clean Code Мартина, то вопросов бы у вас было намного меньше. Потому как все ваши проблемы в них обмусолены и решены уже более десяти лет назад. Нет. DataSource один на все приложение. Я его просто передаю а далее из него вытягивается свободный конекшн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:58 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopPetro123пропущено... ни разу не писав репо или ОРМ? нет. опыта такого нет пока что. ну дак изучите за неделю, а потом спрашивайте. Не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:59 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopЯ его просто передаю а далее из него вытягивается свободный конекшн. а в ОРМ у вас будет 20 классов сущностей и вы на каждую транзакцию будете открывать сессию. ... Старая система вполне себе работоспособна. 50 методов это не много. Решать Вам, но вы должны уметь работать обоим способом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:04 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Tsyklop, У вас есть транзакции. Каждая транзакция реализована неким методом. Но все они выглядят одинаково: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Это называется "инфраструктура". Чтобы не копировать её в каждый метод, её можно применить через АОП ко всем бизнес-методам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:05 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
TsyklopНет. DataSource один на все приложение. Я его просто передаю а далее из него вытягивается свободный конекшн. Ну так значит передача его в конструкторы это профанация. Ничто не мешаем вам писать так: Код: java 1. 2. 3. И все ваши DAO являются обычными синглтонами, не нужно их создавать каждый раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:09 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
BlazkowiczTsyklopНет. DataSource один на все приложение. Я его просто передаю а далее из него вытягивается свободный конекшн. Ну так значит передача его в конструкторы это профанация. Ничто не мешаем вам писать так: Код: java 1. 2. 3. И все ваши DAO являются обычными синглтонами, не нужно их создавать каждый раз. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:12 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Blazkowiczне нужно их создавать каждый раз. он тогда не узнает конец транзакции, когда коммитить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:13 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:17 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
необходимость создавать одни и те же объекты во многих местах - тоже проза жизни. Можно немного упростить процесс, написав синглтон, как предлагал Blazkowicz Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. понятна идея? Код условный, он не-потокобезопасный. Как правильно реализовать синглтон гуглим. Про использование dependency-injection framework я уже не заикаюсь, но это был наглядный пример того, где он нужен ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:18 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
chpashaон не-потокобезопасный тогда нет смысла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:19 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Petro123тогда нет смысла домашнее задание ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:22 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
chpashaPetro123тогда нет смысла домашнее задание ;) 3 класса, и в базовом классе в конструкторе new QueryRunner(Core.getDataSource()); тоже будет работать в потоке, и не синглетоны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:25 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
и всё-таки в чём смысл разделения на DataBaseUser , DataBaseAdmin , DataBaseChat ? просто разделить на несколько классов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:25 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
вадяи всё-таки в чём смысл разделения на DataBaseUser , DataBaseAdmin , DataBaseChat ? просто разделить на несколько классов? у тебя бухгалтерия модуль вместе с торговлей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:27 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
Petro123у тебя бухгалтерия модуль вместе с торговлей?вопрос не в этом. ТС хочет объединить разделив... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:31 |
|
||
|
Объединение sql запросов в один класс JDBC
|
|||
|---|---|---|---|
|
#18+
вадяТС хочет объединить разделив...ну да. В конструкторе получив коннект. При уничтожении отдать в пул и коммит. В чём проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:34 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39631873&tid=2122111]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
153ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 278ms |

| 0 / 0 |

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