JavaRush/Java блог/Архив info.javarush/Тестовое задание
ejjjik
26 уровень

Тестовое задание

Статья из группы Архив info.javarush
участников
Всем привет. Предыстория в двух словах. Решал задачи, читал книги, решил, что пора попробовать свои силы в какой-ниюудь компании, получил тестовое задание (описываю своими словами): "Система ввода и отображения студентов - две вкладки: студенты и группы, и редактирование всей этой информации, бд - любая встроенная" Самая основная проблема то, что я не знаю как проектировать программы (uml я тоже не умею пользоваться, просто постарался представить как это могло быть): Тестовое задание - 1 Так, вот вопросы: 1. Когда правильно подключаться к бд? - Создается единственное подключение и потом, каким-то образом работаем с данными, в конце программы закрываем соединение(например, получили данные из таблицы, запихали их в вектор, по ходу программы редактируем их или отображаем, а когда надо сохранить - записываем их в бд, я считаю этот подход ахинеей, но может быть =)) ) - Выполняем коннект каждый раз, например, когда кликаем по кнопке. Подскажите, как быть в этой ситуации, на какую литературу обратить внимание.
Комментарии (8)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
tsev
Уровень 30
22 апреля 2014, 09:39
ejjjik
Уровень 26
22 апреля 2014, 10:54
Спасибо, вечером повнимательней прочитаю. Но все же, получается в программе, когда, например, я нажимаю кнопку и результатом должна быть выборка из базы, то кнопка должна выполнять коннект и потом закрывать бд.
т.е. в конструкторе listener'a надо обрабатывать datasource.getConnection();
hubert
Уровень 41
22 апреля 2014, 13:14
Почитай еще разок про Connection Pool.
devdrou
Уровень 29
22 апреля 2014, 01:11
В одном видео встретил что правильно лазить в БД через DataSource.
docs.oracle.com/javase/tutorial/jdbc/basics/sqldatasources.html
Можно еще посмотреть на C3P0 или Proxool как реализацию.
habrahabr.ru/post/101342/ можно почитать еще.
ejjjik
Уровень 26
22 апреля 2014, 11:00
Спасибо, бегло пробежался по datasource (по ссылке из нижнего комментария), но ответ вопрос остался не закрытым, как правильно-то? если я каждой кнопке буду вешать коннект, не будет ли это перегружать бд.
Статья с хабра понравилась, наверное, это то, что надо, буду пробовать =)
hubert
Уровень 41
22 апреля 2014, 13:14
Ты можешь создавать коннекшн на каждое нажатие. Просто если у тебя будет работать много пользователей одновременно, то конекшены могут закончиться (в базе даных можно выставлять к-во одновременных коннекшенов, но в любом случае каждый из них это ресурсы. Как и создание).
Connection Pool это действительно то, что тебе надо (да и не тлько тебе, а и всем остальным)
ejjjik
Уровень 26
22 апреля 2014, 15:10
Большое спасибо за ответ! =)
Sant9Iga
Уровень 41
21 апреля 2014, 23:39
как по мне, так почитай про hibernate. думаю, поможет.