Простой Telegram бот на Java и Spring Boot: Сохраняем данные в базу данных, используя Spring JPA

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024

Комментарии • 60

  • @vikg2392
    @vikg2392 2 года назад +5

    Отличный видеокурс! Было бы здорово еще добавить кнопки с надписями (InlineKeyboardButton/InlineKeyboardMarkup). Записывать в БД - какое действие произвел пользователь.

  • @БолатТаласбаев-д1р
    @БолатТаласбаев-д1р 11 месяцев назад +16

    Может кому поможет. У меня автоматически не создавалась таблица и выходила такая ошибка:
    ERROR o.s.b.SpringApplication [main] Application run failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: javax/xml/bind/annotation/XmlElement
    Помогло добавление зависимости

    javax.xml.bind
    jaxb-api
    2.3.1

    • @nikolai.horetski
      @nikolai.horetski 8 месяцев назад +1

      спасибо тебе добрый человек))я два дня мучался, ничего не помогало)

    • @qweextry9075
      @qweextry9075 2 месяца назад +1

      Человек с большой буквы, спасибо

  • @RomanGalkin-te4kp
    @RomanGalkin-te4kp 4 месяца назад

    Огроменное спасибо! Несколько месяцев было чувство, что погряз в теории и барахтаюсь на месте без продвижения на пути создания чего-то осязаемого. Блягодаря вашему туториалу, надеюсь что научусь делать ботов и запилю своего наконец!

  • @МаксМакс-ч8к
    @МаксМакс-ч8к 2 года назад +4

    Крутяк!!! ТГ боты это прям глоток свежего воздуха!!!

  • @spanish_eddie
    @spanish_eddie Год назад +10

    Напишу сюда обязательную вещь. Если вы решите запустить все это дело на PostgreSQL , знайте, что эта БД создаст таблицу ТОЛЬКО после того как вы нажмёте /start (по крайней мере у меня так), а не во время запуска приложения. Иначе будете как я - возиться целый день, пытаясь подключить уже подключённую таблицу.

    • @yellowdevil825
      @yellowdevil825 Год назад

      Спасибо, ты сэкономил мне кучу времени

    • @mamahuhu3871
      @mamahuhu3871 Год назад

      благодарю

  • @mamahuhu3871
    @mamahuhu3871 Год назад

    Дружище спасибо, все по делу, я уж было заскучал со spring MVC и html на пет проекте и твои видосы как глоток свежего воздуха) за уши не оттащишь как интересно!

  • @SergeyAKa
    @SergeyAKa 2 года назад +3

    Все хорошо рассказано, но нет никаких юнит тестов. Очень не хватает этого, т.к. возникает много вопросов по тестированию. По идее после каждого ролика о доработках хорошо бы ролик по тестированию этих доработок, а лучше сразу , разработку через тестирование (TDD)

  • @Svarog093
    @Svarog093 Год назад

    нормально, прокачался. Конечно был затык с авторизацией. Ребята у кого проблемы, внимательно заполняйте поля.

  • @M.Darsky
    @M.Darsky 2 года назад +8

    как по мне, пора бы уже объяснить подписчикам что такое переменная окружения, какая это полезная штука, и хранить этот вредный токен там. где ему и место,))

    • @spark7978
      @spark7978 2 года назад +1

      и что это такое? как правильно задать вопрос хотя бы в гугл, объясни пж

    • @nmodonov
      @nmodonov Год назад +3

      @@spark7978 как правильно задать вопрос хотя бы в гугл:
      выделяете мышкой фразу "что такое переменная окружения".
      Ctrl+C / Google / Ctrl+V / Enter
      Изучаете
      Потом "переменная окружения как использовать Java"
      Изучаете
      Потом "переменная окружения как использовать Spring"
      Изучаете

    • @mrprogre_avandy_electronics
      @mrprogre_avandy_electronics Год назад

      главное когда добавите свою переменную окружения.. не важно, именно текущего пользователя или глобальную - перезагрузите кампухтер, иначе Java её не увидит!

  • @techAi008
    @techAi008 2 года назад

    Большое спасибо. 👍👍👍👍
    будем ждать продолжения
    многофункциональное меню настроек
    i tranzaksiya conections

  • @scutc84
    @scutc84 2 года назад

    отличное руководство, спасибо!

  • @Сергей-и8ж7в
    @Сергей-и8ж7в 2 года назад

    Отличный урок

  • @АлександрМышляев-щ5и

    Спасибо за отличный контент

  • @ВладимирДанилов-к7р

    Не подключаются зависимости mysql. Нужны какие то дополнительные действия?

    • @klaussr
      @klaussr Год назад

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

  • @grisha1894
    @grisha1894 Год назад +3

    Ошибка в userRepository
    cloud not autowire. No beans of "UserRepository" type found

  • @lovlday6847
    @lovlday6847 Месяц назад

    имба

  • @nomonjonrahimov498
    @nomonjonrahimov498 2 года назад

    Спасибо большое.

  • @иванИванов-щ3о4и
    @иванИванов-щ3о4и Год назад

    У меня команды d sql не принимаются, все приконектилось, а команды не принимает use и дальше
    что это может быть

  • @alexanderalexander3920
    @alexanderalexander3920 Год назад

    а как же raw SQL? сами не пишем sql запросы при программировании на джава?

  • @vadimmejinschii3442
    @vadimmejinschii3442 10 месяцев назад

    где скачать .... где ??? после твоих видео больше вопросов чем ответов

  • @ConfidenceGold
    @ConfidenceGold 5 месяцев назад

    замените findById на existsById, который сразу возвращает true или false. Так удобнее.

  • @StopZombies
    @StopZombies Год назад

    Не очень понятно что у юзера в телеге будет? Ничего же? просто отправленный /start передаст нам данные юзера ну т.е как бы никакой особо регистрации нет?

  • @howscwerna
    @howscwerna 8 месяцев назад

    Конечно видео интересные, но вопросов остается постоянно гораздо больше, чем понимания каких-то вещей. Хоть 1 файл конфигурации разберите подробнее, пожалуйста

  • @Wansery
    @Wansery Год назад +1

    Проверку наличия в базе данных юзера следовало бы проводить ещё до запуска метода регистрации... иначе зачем нам его запускать

    • @mrprogre_avandy_electronics
      @mrprogre_avandy_electronics Год назад

      да, я вот так сделал
      if (!userRepository.existsById(update.getMessage().getChatId())) {
      registerUser(update.getMessage());
      }

  • @khanblogger7107
    @khanblogger7107 2 года назад

    perfect!!! 👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍

  • @СашаОбухов-п9т
    @СашаОбухов-п9т Год назад

    Добрый день!Какие параметры будут, если база будет sql server ?

  • @anzbeats909
    @anzbeats909 2 года назад +1

    Cannot resolve method 'getFirstName' in 'Long' Что не так???? 17:23

    • @JavaManuals
      @JavaManuals  2 года назад +2

      Посмотрите внимательно на очерёдность параметров в интерфейсе User Repository. Скорее всего у вас наоборот написано

    • @anzbeats909
      @anzbeats909 2 года назад +1

      @@JavaManuals спасибо, все получилось)) ошибка была очень банальная 😵

  • @1234V2-t
    @1234V2-t 2 года назад

    Как отправлять изображение, музыку с помощью бота. У меня выдает ошибку
    java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(Object)" because "this.objectMapper" is null
    Этот обэкт инициальзируеться в самом класе как new ObjectMapper(); . Класс находить в библиотеке

  • @sergebel820
    @sergebel820 2 года назад +1

    а как развернуть нашу базу на удаленном сервере?

    • @cakeistrue
      @cakeistrue 2 года назад

      Ну это смотря что за сервер. Потом в настройках соединения с бд прописать IP сервера

  • @dmitrygornev9366
    @dmitrygornev9366 Год назад

    Я смотрю, не у одного меня инжекция UresRepository вызвала вопросы. Дмитрий, не могли бы Вы поподробнее объяснить этот момент.
    - UserRepository - это интерфейс, не класс
    - он не описан как bean, в нем отсутствует аннотация @Component
    Откуда этот бин появляется в контейнере спринга и далее инжектится в бота через @Autowired?
    Что-то тут у меня схема в голове пока не укладывается...
    Спасибо.

    • @MrVanchenso
      @MrVanchenso Год назад

      Как то пофиксил? у меня ошибка.
      userRepository in ".model.UserRepository' that could not be found.
      The injection point has the following annotations:
      - @org.springframework.beans.factory.annotation.Autowired(required=true)

    • @rustamsaydam
      @rustamsaydam Год назад

      анотацию @Repository надо интерфейсом поставил, вроде сработало для меня
      @@MrVanchenso

    • @SusanFoster-ok5ns
      @SusanFoster-ok5ns 9 месяцев назад

      @@rustamsaydam Привет. У меня такая же ошибка, уже битый час не могу решить. Подскажи, куда ты ставил аннотацию @Repository? Я её в самом интерфейсе поставил, результат нулевой

  • @ДмитрийБулгаков-ш8х

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

  • @khanblogger7107
    @khanblogger7107 2 года назад

    👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍

  • @ninamonna
    @ninamonna Год назад

    Зачем логи в файл сохранять, а не выводить в консоль, это же не удобно, каждый раз лазить там и искать что не так пошло, тем более все одним цветом, в отличии от консоли, нет выделений никаких. МБ опытному разработчику это конечно на изи сразу все увидеть, а вот начинающим не очень

    • @TooGoolka
      @TooGoolka Год назад

      потому что когда приложение на сервере, у тебя в консоль ничего не выйдет)