Найти тему
Дзен IT

Прием данных в Java

Оглавление

Введение

  • В этой статье мы создадим простой дизайн приема данных, который будет использовать simple Java SDK
  • Мы будем считывать данные из удаленных источников и записывать в базу данных.

Пример использования

  • Наши варианты использования - прием новостных статей из источников RSS.
  • Мы создадим RSS-клиент, который будет принимать данные, а затем записывать их в СУБД
-2

Источник

  • Как я уже упоминал, нашим источником является RSS-канал. Мы будем принимать новостные статьи из блогов Google Cloud Tech.
  • Если вы хотите ознакомиться с подробным блогом о создании RSS-клиентов, пожалуйста ознакомьтесь с этой статьей.
  • В рамках этого блога мы будем использовать зависимость под названием Rome, которая поможет нам подключиться к RSS-каналу.
  • Ниже приведена полная логика, которая принимает данные из облачного блога Google и сопоставляет их с новостной статьей POJO
-3

Новостная статья POJO

  • NewsArticle в основном состоит из свойств, которые мы ожидаем получить из новостных статей RSS.
-4

RSS Mapper

  • Этот класс отвечает за сопоставление данных RSS-канала с новостной статьей POJO.
-5
  • В этой статье требуется настройка MySQL или аналогичной СУБД в качестве приемника, предварительно требуется настроить эту базу данных
  • Как только у нас есть работающая база данных, мы можем создать таблицу с именем NEWS_ARTICLE в любой схеме, присутствующей в базе данных.
  • Если вы ленивы, как я, вы можете просто скопировать приведенный ниже код, чтобы быстро начать работу
-6

Подключение к базе данных

  • Как только таблица будет готова, мы можем сосредоточиться на логике Java для подключения к базе данных.
  • Нам понадобится драйвер JDBC для подключения к базе данных, обязательно добавьте зависимость в POM.xml
-7
  • Теперь, когда у нас есть драйвер, мы можем приступить к кодированию нашего клиента.
    Мы используем класс DriverManager для получения объекта connection. Нам нужно передать строку URL-адреса JDBC вместе с пользователем и паролем.
  • Примечание: я ввел значение конфигурации в код, но в реальном сценарии мы никогда не должны этого делать. Я считаю, что чтение из файла конфигурации во время выполнения или KMS / Vault является рекомендуемым подходом.
-8

Вставка данных в базу данных

  • Как только мы подключимся к базе данных, мы напишем логику вставки данных.
  • Сначала давайте получим подготовленный объект statement, который мы будем использовать для установки наших данных и выполнения в базе данных.
-9
  • Одна вещь, в которой нужно убедиться, это то, что мы должны вставлять наши данные как пакет, поскольку вставка каждой записи не будет хорошей для производительности при большом размере данных.
  • Мы устанавливаем для автоматической фиксации значение false, чтобы мы могли зафиксировать, как только все записи будут добавлены в пакет, и мы сможем выполнить пакет.
  • Мы перебираем каждую новостную статью и добавляем в пакет preparedstamtent.
  • и как только мы закончим добавлять каждую запись в пакет, мы можем выполнить пакетную и выполнить операцию фиксации.
-10
  • Ниже приведена логика для установки preparedstatement с данными newsarticle
-11

Логика клиента

  • Наш клиент довольно прост. Сначала он вызывает логику для получения новостной статьи из RSS-канала, а затем записывает их как пакетную вставку в нашу базу данных.
-12

Результат

  • Давайте выполним наш клиентский код, чтобы увидеть результат.
  • Перед выполнением: наша таблица базы данных пуста
-13

После выполнения

Журнал

-14

MySQL

-15
  • Как мы видим, в нашу базу данных успешно вставлено 20 новостных статей, и выполнение нашего кода прошло успешно.

Исходный код

  • Как обычно, исходный код доступен на github

Заключение

  • В этой статье мы построили логику приема данных с использованием простой Java.
  • Мы прочитали из RSS-канала и вставили запись в базу данных MySQL

Оригинал статьи