|
anele
|
|
Многопользовательский ввод в базу mySql на Java13.09.2009, 10:01. Показов 4242. Ответов 26
Метки нет (Все метки)
Подскажите, пожалуйста, возможен ли осуществитьмногопользовательский вводв mySql-ую базу, используя средства Java.В mySql нет транзакций,есть функция LOCK TABLE, а возможна ли блокировка на уровне записей? И где можно почитать на эту тему? Поделитесь опытом!
заранее большое спасибо! |
|
| 13.09.2009, 10:01 | |
|
Ответы с готовыми решениями:
26
Ввод данных из ComboBox в базу mysql Узнать ID добавленной записи в MySQL (многопользовательский режим)
|
|
4 / 4 / 4
Регистрация: 28.08.2008
Сообщений: 611
|
|
| 28.09.2009, 12:47 | |
|
Ну, почитал я это все
) И у меня появилось, что сказать.Первое -- EJB стнадарт. Бесспорно. Де-факто -- бесспорно. Обязательность его использования -- весьма спорно. ) Весьма... То, что делает EJB, вполне можно переложить на уровень СУБД. И мы так и делаем. И делаем успешно. И делаем успешно, зная о том, что существуют CMP и JDO. И даже умеем ими пользоваться.Но все-таик вызываем хранимые процедуры и привет. Не имеем зеркала реляционной модели в памяти приложения. И не нужны никакие ни CMP, ни JDO. Проще это или сложнее -- одинокаво. То, что писали бы Java-программеры, пишут SQL-программеры. У Java-программеров работы не уменьшается -- есть о чем думать. Теперь про Session Beans. И это второе ) Обязательно ли их использовать -- нет. Ни в коем случае нельзя необоснованно кидаться все через бины гонять. Их надо использовать не потому, что модно, а только если оправдано. Первое необходимое (все понимают, что не достаточное) условие того, что Session Beans не нужны -- отсутствие необходимости контроля транзакций на уровне EJB. Например (только например), транзакции скрыты в хранимых процедурах. Второе необходимое условие -- отсутвие сервисов.Здесь надо остановиться по-подробнее. Чаще всего, когда EJB не оправданы, Session Beans формируются исходя из UI. UI близок к Use Case'ам, но все-таки всего лишь близок. Самое важное в Session Beans -- сервисы. Каждый бин -- отдельная подсистема, причем очень высокого уровня. Так это должно быть. А что я часто наблюдаю -- сервлет просто делегирует бину выполнение операции. А бин делегирует ее СУБД. Так зачем такое надо. Это не сервис. Сервис -- инкапсуляция непростых алгоритмов, продиктованных устоявшимся бизнесом в реальности. Инкапсуляция в одном вызове (в идеале). А простое 'удалить строчку из БД' -- это не сервис. Сервис -- 'сменить расписание данного поезда на следующее'. Так вот, если алгоритма нет, или алгоритм реализован в сервлете (и его нет смысла переносить на EJB ради того, чтобы только использовать EJB), то можно инкапсулдировать знание о том, как сделать вызов к БД в отдельном объекте. Я такие объекты называю DAO, хотя это и не совсем DAO. Сухой остаток моего опуса -- EJB -- стандарт, но не надо пихать его без смазки ) И я прекрасно понимаю, и даже не говорю о том, что, конечно же, все зависит от задачи. Об этом говорить даже не стоит -- само собой разумеется )Все это я пишу для госпожи Маловой, так как вы, старые перцы, и так в адеквате )
0
|
|
|
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
|
|
| 28.09.2009, 17:43 | |
|
Ну почему, мне тоже это интересно. Действительно, а где госпожа Малова?
0
|
|
|
Barsik
|
|
| 29.09.2009, 04:55 | |
|
anna_malova сообщите свой емыл
|
|
|
0 / 0 / 0
Регистрация: 15.07.2008
Сообщений: 173
|
|
| 30.09.2009, 14:39 | |
|
Поддержка транзакций базой данных и многопользовательская работа с этой базой
помоему делитанскому мнению несколько разные вещи, помогите разобраться. Поддержка транзакций, это когда ,например, есть необходимость чтобы в базу попали три стейтмента вместе, и только вместе (делаем, что то типа beginTransaction; try { firstStatement; secondStatement; thirdStatement; } catch(SQLException e){ rollbackTransaction; } commitTransaction; ) Многопользовательский же ввод в базу это когда нужно чтобы данные занесенные одним пользователем не затирались другим, правильно ? хорошие СУБД(Oracle, MS SQL Server, PostgreSQL) реализуют это сами, т.е. если кто то владеет таблицей в данный момент, то нужно немного подождать. Если же в проекте используем что то попроще то эту проблему надо решать самому??? И тут помогут менеджеры транзакций... так или не так?
0
|
|
|
Barsik
|
|
| 30.09.2009, 18:08 | |
|
Привет.
Многопользовательская работа это когда 'много' (возможно и не одновременно) вводят изменяют данные в базе. Возможно ты можеш захотеть сделать некоторые изменения транзакционными. Вот и все отличие. То что ты указал в качестве транзакции полностью ею не является, транзакция должна удовлетворять 4 требованиям, чтобы назваться ею (у тебя только одно). А СУБД или Полностью поддерживает транзакции или не полностью. Есть менеджер соединений он возможно решает проблемы поднятые тобой, но он предназначен для других вещей. Мыло давай свое. |
|
|
0 / 0 / 0
Регистрация: 15.07.2008
Сообщений: 173
|
|
| 30.09.2009, 19:27 | |
|
KhasDenis@mail.ru
0
|
|
|
anele
|
|
| 06.10.2009, 10:17 | |
|
Здравствуйте!
Я снова здесь.- ) Спасибо огромное за все Ваши ответы. За то время, пока я все читала, просветилась намного больше, чем за год обучения в университете. И это чистая правда. Вообще, проект - это учеба, а учеба - это проект в моем случае. Ну, два в одном- ). Сказать в ответ мне почти нечего, потому что EJB-технологией не владею совсем, и что это такое, узнала большей частью из ваших ответов. Посему пойду учииться дальше и переваривать все, что здесь узнала - ) Тут мое мыло спрашивали, да? anna_malova@hotmail.com - вот. Напишите мне, пожалуйста, если появятся какие-то идеи. Буду очень, очень признательна. Вы вообще здорово мне помогли, СПАСИБО! С уважением, г-жа Малова- )))
|
|
| 06.10.2009, 10:17 | |
|
Не подключается MySQL (java.lang.ClassNotFoundException: com.mysql.jdbc.Driver) Java.sql.SQLException: No suitable driver found for com.mysql.jdbc:mysql://localhost:3306/log Ввод данных в базу
Запись в базу MySQL Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|