Задать вопрос
@longBurn

Как взаимодействовать с базой данных на JAVA?

Добрый день, товарищи!

Не так давно приступил к изучению Java с написания несложного, но затрагивающего много технологий, приложения.

И вот сейчас подошел к вопросу взаимодействия с БД.

Одним из требований при разработке приложения для себя поставил: вести низкоуровневую разработку, не затрагивая готовые фреймворки и вспомогательные библиотеки.

Так, к примеру, взаимодействие с внешним веб-сервером я реализовал на уровне сокетов tcp/ip.

Что же является самым низким уровнем для взаимодействия с БД? JDBC? Какие еще есть технологии для взаимодействия с БД? Я знаю про Hybernate, есть что-то еще?

Заранее спасибо за вашу помощь!
  • Вопрос задан
  • 2656 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@vilgeforce
Раздолбай и программист
У того же mysql есть протокол (dev.mysql.com/doc/internals/en/client-server-proto...), можете его реализовать. Только не нужно: существуют библиотеки для работы с mysql для популярных языков.
Ну и в качестве шутки: не тот вы язык выбрали для низкого уровня, надо было C/Asm выбирать :-)
Ответ написан
@vanilla_men
Can you draw the world?
Смотря какая база, для InterSystems - есть низкоуровневые схемы, extreme java, globals.
Ответ написан
Комментировать
lorka
@lorka
Game-develop
Хотелось бы спросить - зачем?
По сабжу - для SQL флагманы ODBC(ограниченно годный к употреблению субпродукт) и JDBC(есть еще nosql решения и несколько довольно узких штуковин). Для не-SQL существуют еще тысячи различных протоколов/решений.
Arthur Asatryan - взглянул по ссылке, перетряхнуло -_-
Официально MySQL предлагает JDBC - насколько вам нужно более "низкий уровень"? На уровне ТCP стека?
В таком случае - попробуйте для себя описать систему, которая будет поддерживать одновременные запросы, кеширование, вложенные запросы, простейшие операторы, индексирование, типизирование и еще сотни вещей, которые уже реализованы производителем - сколько это займёт времени? Как бы вы реализовали тот же ResultSet? Одновременные обращения? Обработку ошибок? А при обновлении СУБД - когда протоколы кардинально меняются - что делать? Например, JDBC довольно удобная и маленькая библиотека, позволяющая работать с MySQL базой в любой позе, постоянно обновляющаяся и даже не требующая финансовых вложений - заново изобрести подобный велосипед - это потратить тысячи(знаю, оптимистичный прогноз) человеко-часов и в итоге получить... Тот же "фреймворк".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы