Как связать программу с базой данных

Изучаю SQL и, в принципе, понимаю как создать базу данных в MySQL. Примерно понимаю как написать серверное приложение. Для изучения Tomcat, наверное, серверное приложение и база данных должны на нём крутиться.

Суть вопроса: как серверное приложение и базу данных разместить на Tomcat’e?

Я знаю, где у меня исходники и *.classes серверного приложения и не знаю, где сохраняется база данных, если я работаю через консоль MySQL.

Как все это запустить на моём PC под Windows 10 Pro?

Отслеживать
1,745 9 9 золотых знаков 19 19 серебряных знаков 28 28 бронзовых знаков
задан 1 ноя 2015 в 12:23
531 3 3 золотых знака 5 5 серебряных знаков 13 13 бронзовых знаков
Покажите, что у Вас уже реализовано.
1 ноя 2015 в 13:08

по-большому счёту ничего, я так себе планирую. Сейчас читаю HEAD FIRST SQL, чтобы познакомиться с БД. Через пару-тройку дней готов приступать к написанию кода. Ещё волнует вопрос как код БД коммитить на GitHab. IntellijIdea у меня настроена, но я не представляю себе в ней писать код для БД

Уроки C# .NET Windows Forms / #1 — Создание приложения на C# с SQL (базами данных)

1 ноя 2015 в 13:59

серверное приложение и база данных должны на нём крутиться. — не совсем так. Tomcat — это веб-сервер, он отвечает за передачу HTTP-запросов вашему приложению, это именно он слушает какой-то там порт и отсекает негодные запросы. Сама же база данных вертится на своем отдельном сервере, если только это не file-based / in-memory база данных, которая живет в конкретном файле или памяти JVM соответственно.

1 ноя 2015 в 14:01

А вот это уже интереснее. Можете детальнее объяснить как это все должно выглядеть, если вы поняли мою задумку? Tomcat — это веб-сервер, он отвечает за передачу HTTP-запросов вашему приложению — это означает, что клиент обращается с запросом к Tomcat, тот в свою очередь к серверному(веб?) приложению, которое обрабатывает запрос и извлекает необходимые данные с базы данных и отдает TOMCAT, который в свою очередь отправляет ответ клиентскому приложению?

Читайте также:
Межсетевой устройство программа которые осуществляют фильтрацию данных на основе

1 ноя 2015 в 14:04

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Итак, в целях обучения можете сделать Rest сервис. Работать это будет примерно следующим образом:

  1. Юзеры через клиент(Веб браузер например) отправляет get или post запрос на ваш сервер.
  2. Сервер обрабатывает http запрос клиента и формирует запрос к БД.
  3. Затем сервер отправляет ответ(response), например, в виде JSON.

Теперь о технологиях: Rest сервис можно запросто сделать с помощью Spring (http://spring-projects.ru/guides/rest-service/) Для связи с БД используйте JDBC(так же огромное количество русских уроков)

Все это крутится на Tomcat’e А интерфейс это уже отдельная тема. Надеюсь, все доступно объяснил, если есть вопросы, с радостью отвечу.

PS Для подключения к БД используйте (Более подробно почитайте в гугле «JDBC mysql connection»):

Class.forName(«com.mysql.jdbc.Driver»); Connection conn = null; conn = DriverManager.getConnection(«jdbc:mysql://hostname:port/dbname»,»username», «password»);

Если клиенты отправляют запросы на сервер, то это отправляют Tomcat’y или серверному приложению, которое мне нужно написать?

C# и ACCESS. Пример работы с ACCESS на Windows Forms C#.

Да, Tomcat’y, он следит за запросами(если можно так выразиться), а ваше приложение(сервер) их обрабатывает, выглядит это примерно так (если без спринга):

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException < // Тут запросы к БД, и другая логика >

Этот фрагмент кода взят из реализации Сервлета, Если вы не знаете, что это очень рекомендую почитать, без сервлетов в j2ee никуда.

Отслеживать
ответ дан 1 ноя 2015 в 18:43
Vadim Beskrovnov Vadim Beskrovnov
90 1 1 серебряный знак 7 7 бронзовых знаков

Спасибо за ответ. Что-то подобное я и хочу сделать. Все это крутится на Tomcat’e — вот это не знаю как реализовать. Если клиенты отправляют запросы на сервер, то это отправляют Tomcat’y или серверному приложению, которое мне нужно написать? Со Spring пока не знаком и не думаю, что охвачу это все вместе. Хотел сделать с помощью Hibernate, но тоже ещё рано, так как сначала нужно сделать ручками всё.

Читайте также:
Лотус программа документооборота инструкция

Меня сейчас интересует где моя БД, которую я заполняю через консоль и как её и серверное приложение поставить на Tomcat. В интернетах пока не нашёл ответа.

1 ноя 2015 в 18:55

Отлично! Теперь я понимаю, что ещё и с сервлетами нужно познакомиться, чтобы сложилась более полная картина что и к чему нужно прикрутить. А если вернуться к вопросу о БД. Вот второй день изучаю SQL и пишу в консоли MySQL. Где сохраняется эта БД?

Как с ней работать из серверного приложения, которое должно обрабатывать клиентские запросы?

1 ноя 2015 в 19:36

«jdbc:mysql://hostname:port/dbname» вот эту строку в getConnection надо заменить на jdbc:mysql://localhost:3306/MyDataBaseName, где MyDataBaseName — имя вашей базы данных, localhost значит, что сервер БД стоит на той же машине, а 3306 это порт с которым работает MySql

1 ноя 2015 в 19:58

Для подключения базы данных уже с давних пор предлагается использовать ресурсы сервера приложений. Зачем этот вот DriverManager? Только лишь для ознакомления с основами JDBC? Но это не тот путь, который стоит использовать с tomcat и пр.

2 ноя 2015 в 2:59

База сохраняется на сервере базы данных. И клиенту точное расположение файлов базы знать совершенно незачем, и не предусмотрено SQL такое знание. Для MySQL на Windows это может быть, например, папка C:Program FilesMySQLMySQL Server 5.6data. Чем это может помочь даже не представляю.

2 ноя 2015 в 3:12

Если достаточно хорошо знаете аглицкий для чтения мануалов, то лучше почитать документацию к tomcat, javaee.
На русском легко найти про java, про servlet-ы, про jdbc отдельно. А вместе не попадалось никогда.

Сначала подключение к БД описывается где-то в контексте tomcat-а. Есть варианты как именно, в какой файл записать эти строки (см. документацию):

Читайте также:
Программа для настройки ip камер hiwatch

Обратите внимание на url. Правильно догадались, что надо прописать jdbc:mysql://hostname:port/dbname
Считайте, что url и есть база данных. Это адрес сервера (hostname:port) и имя базы, которое дали ей при созданий. Там она и хранится.
Вполне возможно и у tomcat-а есть web-морда, в которой можно создать такое подключение, вместо ручного написания xml. Не знаю. У других серверов есть такая возможность.

Потом в WEB-INF/web.xml web-приложения помещается ссылка на этот ресурс:

MySQL Test App DB Connection jdbc/TestDB javax.sql.DataSource Container

Возможно не всё тут правда, но как-то так.
Да. Длинновато получается. Но ничего не поделаешь — разработчику для tomcat-ов всяких надо знать все эти конфигурации (называются дескрипторы развёртывания или deployment descriptor) стандартные из javaee и специфические для конкретного сервера приложений. Зато подключение к базе задаётся не железно в коде, а гибко в конфигурации. Да и кода уже никакого нет, так — одна аннотация. Более-менее приличные IDE иногда упрощают написание этой конфигурации.

Источник: ru.stackoverflow.com

Связываем ASP.NET Core MVC с MS SQL Server (Entity Framework Core)

Как связать программу с базой данных

Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core

Последнее обновление: 31.10.2015

Для хранения данных приложению нужна база данных. Мы можем использовать различные СУБД, но, как правило, в качестве базы данных в связке с ASP.NET MVC используется база данных MS SQL Server, на примере которого мы и посмотрим весь процесс создания БД и подключения к ней.

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru