|
0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 4
|
|||||||||||
Нужен совет в работе с базой данных23.12.2016, 11:26. Показов 674. Ответов 7
Метки нет (Все метки)
Добрый день! Подскажите пожалуйста, кто работает с JAVA. Я стал ее изучать полгода назад. Опыт программирования не малый, но web языки. Сейчас учу JAVA. Вопрос следующий!
Есть проект с 2-мя JFrame. Одна форма главная, на ней есть кнопка. По кнопке вызывается другая форма. Написал класс для подключения к БД. В пределах данного класса данные из таблицы выводятся через println(). База Mysql кстати. Ни как не могу понять, как соединить форму с этим файлом подключения к БД. Т.е. я так понимаю, что у проекта может быть много форм и все они как-то должны взаимодействовать через файл-класс подключения к БД. Не будешь ведь на каждой форме делать подключение, чтобы работать с базой? Недопонимаю какова правильная реализация работы с БД в JAVA. В web программировании у меня одно подключение к БД, и куча модулей, которые взаимодействуют через это единое подключение. Вот я и не понимаю как любу форму связать с этим классом подключения к БД? Вот класс подключения
Метод в форме, в котором надо взаимодействовать с базой! Вывести данные через println();
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at java1.AddProjectJFrame.addProject(AddPro jectJFrame.java:187) at java1.AddProjectJFrame.jButton1ActionPer formed(AddProjectJFrame.java:171) at java1.AddProjectJFrame.access$000(AddPro jectJFrame.java:18) at java1.AddProjectJFrame$1.actionPerformed (AddProjectJFrame.java:84) at javax.swing.AbstractButton.fireActionPer formed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actio nPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActio nPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPresse d(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListen er.mouseReleased(BasicButtonListener.jav a:252) at java.awt.Component.processMouseEvent(Com ponent.java:6533) at javax.swing.JComponent.processMouseEvent (JComponent.java:3324) at java.awt.Component.processEvent(Componen t.java:6298) at java.awt.Container.processEvent(Containe r.java:2236) at java.awt.Component.dispatchEventImpl(Com ponent.java:4889) at java.awt.Container.dispatchEventImpl(Con tainer.java:2294) at java.awt.Component.dispatchEvent(Compone nt.java:4711) at java.awt.LightweightDispatcher.retargetM ouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMo useEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchE vent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Con tainer.java:2280) at java.awt.Window.dispatchEventImpl(Window .java:2746) at java.awt.Component.dispatchEvent(Compone nt.java:4711) at java.awt.EventQueue.dispatchEventImpl(Ev entQueue.java:758) at java.awt.EventQueue.access$500(EventQueu e.java:97) at java.awt.EventQueue$3.run(EventQueue.jav a:709) at java.awt.EventQueue$3.run(EventQueue.jav a:703) at java.security.AccessController.doPrivile ged(Native Method) at java.security.ProtectionDomain$JavaSecur ityAccessImpl.doIntersectionPrivilege(Pr otectionDomain.java:76) at java.security.ProtectionDomain$JavaSecur ityAccessImpl.doIntersectionPrivilege(Pr otectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.jav a:731) at java.awt.EventQueue$4.run(EventQueue.jav a:729) at java.security.AccessController.doPrivile ged(Native Method) at java.security.ProtectionDomain$JavaSecur ityAccessImpl.doIntersectionPrivilege(Pr otectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQ ueue.java:728) at java.awt.EventDispatchThread.pumpOneEven tForFilters(EventDispatchThread.java:201 ) at java.awt.EventDispatchThread.pumpEventsF orFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsF orHierarchy(EventDispatchThread.java:105 ) at java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents( EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDi spatchThread.java:82) СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 11 секунды) Добавлено через 18 минут Неужели никто с базами не работал?
0
|
|||||||||||
| 23.12.2016, 11:26 | |
|
Ответы с готовыми решениями:
7
Нужен совет по работе ПК Нужен Ваш совет по работе с файлами. Нужен совет по работе со службами WINDOWS |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 23.12.2016, 11:33 | |
|
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 23.12.2016, 11:35 | |
|
вам бы книжку почитать
0
|
|
|
0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 4
|
|
| 23.12.2016, 12:26 [ТС] | |
|
Буду благодарен если подскажете хорошую книгу по JAVA + Mysql
Добавлено через 1 минуту Можете хотябы последовательность объяснить? Я прав в том, что подключение к БД идет только один раз в отдельном классе, а далее просто должна любая форма связываться с этим классом? Если да, то каким образом связь идет? Как избежать повторного подключения, чтобы не ругался на connection? Добавлено через 39 минут Суть ошибки то понятна, что он не видит объект onnection, но через ссылку this.connection тоже не робит. Не буду же я в каждом методе вставлять connection = DriverManager.getConnection(url, user, password); чтобы проверять подключение?:??? Подскажите плиз, как в JAVA это должно правильно быть? Не хочу костыли всякие делать, делать, дык сразу хорошо)) Пожалуйста, помогите добить!
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 23.12.2016, 12:42 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 4
|
|
| 23.12.2016, 12:48 [ТС] | |
|
Метод main в dbConfig я создал для того, чтобы проверить было ли установлено соединение. Ну, чтобы получить состояние (все норм или отсутствует подключение к БД). В PHP с классами как-то проще у меня все. А тут с базой данных разобраться не могу, в правильном её применении в проекте JAVA
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 23.12.2016, 12:53 | |
|
espltdmh50, БД тут не при чем. У вас проблемы с пониманием ООП. Где вы создаете объект класса dbConfig?
0
|
|
|
0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 4
|
|
| 23.12.2016, 13:10 [ТС] | |
|
Нормально у меня все с ООП. Я уже разобрался. Воспользовался советом, который вы дали выше) Все работает! Спасибо! Просто было недопонимание, первые разы с формами работаю, тоже ведь нужно время чтобы и голову переключить и привыкнуть к некоторым нюансам.) еще раз Спасибо ! Работает!
0
|
|
| 23.12.2016, 13:10 | |
|
Помогаю со студенческими работами здесь
8
Нужен совет по работе с методом scroll Ошибка при работе с базой данных Иероглифы при работе с базой данных! Простое приложение по работе с базой данных Ошибки при работе с базой данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|