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

  Рет қаралды 17,736

Дмитрий Финашкин

Дмитрий Финашкин

2 жыл бұрын

Простой Telegram бот на Java и Spring Boot: Сохраняем данные в базу данных, используя Spring JPA
Код доступен тут: github.com/DmitrijsFinaskins/...
В видео показано как добавить поддержку баз данных в проект и сохранять в таблицу данные о пользователях, которые пишут боту
Если эта тема вам интересна, то пишите об этом в комментариях, тогда мы продолжим улучшение бота!
Для тех кто хочет поддержать канал и стимулировать более частое появление видео:
TON кошелек ton://transfer/EQDaRh6x4f9zH1pQzt8lhJPE70eltVzYB-phi83BunLg6X2y
Ethereum кошелек: 0xfb654C91AC122e911db97435d491c3d919F6d8D5
PayPal: www.paypal.com/paypalme/DFina...
Группа ВК - rocketjava
Telegram - t.me/DmitrijsFinaskins
Мой сайт - dataguru.guide
Twitter - / dfinaskins

Пікірлер: 58
@RomanGalkin-te4kp
@RomanGalkin-te4kp Ай бұрын
Огроменное спасибо! Несколько месяцев было чувство, что погряз в теории и барахтаюсь на месте без продвижения на пути создания чего-то осязаемого. Блягодаря вашему туториалу, надеюсь что научусь делать ботов и запилю своего наконец!
@user-sh6kw1gp3q
@user-sh6kw1gp3q 7 ай бұрын
Может кому поможет. У меня автоматически не создавалась таблица и выходила такая ошибка: 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 4 ай бұрын
спасибо тебе добрый человек))я два дня мучался, ничего не помогало)
@scutc84
@scutc84 Жыл бұрын
отличное руководство, спасибо!
@mamahuhu3871
@mamahuhu3871 Жыл бұрын
Дружище спасибо, все по делу, я уж было заскучал со spring MVC и html на пет проекте и твои видосы как глоток свежего воздуха) за уши не оттащишь как интересно!
@user-bn9wc8db6s
@user-bn9wc8db6s 2 жыл бұрын
Крутяк!!! ТГ боты это прям глоток свежего воздуха!!!
@user-sd6st7wf9u
@user-sd6st7wf9u 2 жыл бұрын
Спасибо за отличный контент
@user-hm8wx2us8l
@user-hm8wx2us8l 2 жыл бұрын
Отличный урок
@vikg2392
@vikg2392 2 жыл бұрын
Отличный видеокурс! Было бы здорово еще добавить кнопки с надписями (InlineKeyboardButton/InlineKeyboardMarkup). Записывать в БД - какое действие произвел пользователь.
@nomonjonrahimov498
@nomonjonrahimov498 Жыл бұрын
Спасибо большое.
@spanish_eddie
@spanish_eddie Жыл бұрын
Напишу сюда обязательную вещь. Если вы решите запустить все это дело на PostgreSQL , знайте, что эта БД создаст таблицу ТОЛЬКО после того как вы нажмёте /start (по крайней мере у меня так), а не во время запуска приложения. Иначе будете как я - возиться целый день, пытаясь подключить уже подключённую таблицу.
@yellowdevil825
@yellowdevil825 Жыл бұрын
Спасибо, ты сэкономил мне кучу времени
@mamahuhu3871
@mamahuhu3871 Жыл бұрын
благодарю
@khanblogger7107
@khanblogger7107 Жыл бұрын
perfect!!! 👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
@techAi008
@techAi008 2 жыл бұрын
Большое спасибо. 👍👍👍👍 будем ждать продолжения многофункциональное меню настроек i tranzaksiya conections
@Svarog093
@Svarog093 11 ай бұрын
нормально, прокачался. Конечно был затык с авторизацией. Ребята у кого проблемы, внимательно заполняйте поля.
@SergeyAKa
@SergeyAKa Жыл бұрын
Все хорошо рассказано, но нет никаких юнит тестов. Очень не хватает этого, т.к. возникает много вопросов по тестированию. По идее после каждого ролика о доработках хорошо бы ролик по тестированию этих доработок, а лучше сразу , разработку через тестирование (TDD)
@M.Darsky
@M.Darsky 2 жыл бұрын
как по мне, пора бы уже объяснить подписчикам что такое переменная окружения, какая это полезная штука, и хранить этот вредный токен там. где ему и место,))
@spark7978
@spark7978 Жыл бұрын
и что это такое? как правильно задать вопрос хотя бы в гугл, объясни пж
@nmodonov
@nmodonov Жыл бұрын
@@spark7978 как правильно задать вопрос хотя бы в гугл: выделяете мышкой фразу "что такое переменная окружения". Ctrl+C / Google / Ctrl+V / Enter Изучаете Потом "переменная окружения как использовать Java" Изучаете Потом "переменная окружения как использовать Spring" Изучаете
@mrprogre_avandy
@mrprogre_avandy 8 ай бұрын
главное когда добавите свою переменную окружения.. не важно, именно текущего пользователя или глобальную - перезагрузите кампухтер, иначе Java её не увидит!
@ConfidenceGold
@ConfidenceGold Ай бұрын
замените findById на existsById, который сразу возвращает true или false. Так удобнее.
@user-lb4id6jf7g
@user-lb4id6jf7g Жыл бұрын
Добрый день!Какие параметры будут, если база будет sql server ?
@howscwerna
@howscwerna 5 ай бұрын
Конечно видео интересные, но вопросов остается постоянно гораздо больше, чем понимания каких-то вещей. Хоть 1 файл конфигурации разберите подробнее, пожалуйста
@vadimmejinschii3442
@vadimmejinschii3442 6 ай бұрын
где скачать .... где ??? после твоих видео больше вопросов чем ответов
@alexanderalexander3920
@alexanderalexander3920 8 ай бұрын
а как же raw SQL? сами не пишем sql запросы при программировании на джава?
@user-ey8hl7iz9t
@user-ey8hl7iz9t 9 ай бұрын
У меня команды d sql не принимаются, все приконектилось, а команды не принимает use и дальше что это может быть
@StopZombies
@StopZombies Жыл бұрын
Не очень понятно что у юзера в телеге будет? Ничего же? просто отправленный /start передаст нам данные юзера ну т.е как бы никакой особо регистрации нет?
@user-ji2il6sh2b
@user-ji2il6sh2b Жыл бұрын
Не подключаются зависимости mysql. Нужны какие то дополнительные действия?
@klaussr
@klaussr 8 ай бұрын
да, у меня так же было. решается путем добавления версии к зависимости в пом-файле. Версию взять из центрального мавен репозитория
@grisha1894
@grisha1894 Жыл бұрын
Ошибка в userRepository cloud not autowire. No beans of "UserRepository" type found
@user-xk2qp9hu2x
@user-xk2qp9hu2x Жыл бұрын
как пофиксил?
@user-dk9tb6zo2r
@user-dk9tb6zo2r Жыл бұрын
@@user-xk2qp9hu2x получилось пофиксить?
@user-dk9tb6zo2r
@user-dk9tb6zo2r Жыл бұрын
А всё решил проблему! Надо скропировать pom файл с его репозитория. Скорее всего какие то зависимости устарели и не сочетаются
@user-tq8wh3xw2k
@user-tq8wh3xw2k 2 жыл бұрын
Как отправлять изображение, музыку с помощью бота. У меня выдает ошибку java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(Object)" because "this.objectMapper" is null Этот обэкт инициальзируеться в самом класе как new ObjectMapper(); . Класс находить в библиотеке
@Wansery
@Wansery 9 ай бұрын
Проверку наличия в базе данных юзера следовало бы проводить ещё до запуска метода регистрации... иначе зачем нам его запускать
@mrprogre_avandy
@mrprogre_avandy 8 ай бұрын
да, я вот так сделал if (!userRepository.existsById(update.getMessage().getChatId())) { registerUser(update.getMessage()); }
@anzbeats909
@anzbeats909 Жыл бұрын
Cannot resolve method 'getFirstName' in 'Long' Что не так???? 17:23
@JavaManuals
@JavaManuals Жыл бұрын
Посмотрите внимательно на очерёдность параметров в интерфейсе User Repository. Скорее всего у вас наоборот написано
@anzbeats909
@anzbeats909 Жыл бұрын
@@JavaManuals спасибо, все получилось)) ошибка была очень банальная 😵
@khanblogger7107
@khanblogger7107 Жыл бұрын
👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
@sergebel820
@sergebel820 Жыл бұрын
а как развернуть нашу базу на удаленном сервере?
@cakeistrue
@cakeistrue Жыл бұрын
Ну это смотря что за сервер. Потом в настройках соединения с бд прописать IP сервера
@user-jj6pp7ic3k
@user-jj6pp7ic3k Жыл бұрын
вот вроде все как на видео, а у меня репозитория не находится системой. (делаю не все точ в точ, но логика та же )
@user-xk2qp9hu2x
@user-xk2qp9hu2x Жыл бұрын
пофиксил?
@user-jj6pp7ic3k
@user-jj6pp7ic3k Жыл бұрын
@@user-xk2qp9hu2x да уже пофиксил, и вообще, всё не по по курсу(
@MrVanchenso
@MrVanchenso Жыл бұрын
Есть решение? null возвращает. версии другие
@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 10 ай бұрын
анотацию @Repository надо интерфейсом поставил, вроде сработало для меня @@MrVanchenso
@SusanFoster-ok5ns
@SusanFoster-ok5ns 5 ай бұрын
@@rustamsaydam Привет. У меня такая же ошибка, уже битый час не могу решить. Подскажи, куда ты ставил аннотацию @Repository? Я её в самом интерфейсе поставил, результат нулевой
@ninamonna
@ninamonna Жыл бұрын
Зачем логи в файл сохранять, а не выводить в консоль, это же не удобно, каждый раз лазить там и искать что не так пошло, тем более все одним цветом, в отличии от консоли, нет выделений никаких. МБ опытному разработчику это конечно на изи сразу все увидеть, а вот начинающим не очень
@TooGoolka
@TooGoolka 9 ай бұрын
потому что когда приложение на сервере, у тебя в консоль ничего не выйдет)
Alex hid in the closet #shorts
00:14
Mihdens
Рет қаралды 16 МЛН
Amazing weight loss transformation !! 😱😱
00:24
Tibo InShape
Рет қаралды 63 МЛН
Mama vs Son vs Daddy 😭🤣
00:13
DADDYSON SHOW
Рет қаралды 46 МЛН
Red❤️+Green💚=
00:38
ISSEI / いっせい
Рет қаралды 87 МЛН
Hibernate & JPA Tutorial - Crash Course
24:27
Marco Codes
Рет қаралды 93 М.
Что такое Hibernate для Java-разработчика?
14:39
Sergey Nemchinskiy
Рет қаралды 13 М.
Никита Летов - Используем @Transactional like a Pro
1:16:31
JPoint, Joker и JUG ru
Рет қаралды 52 М.
Пишем Telegram Bot на Python / Создание ботов для начинающих за 30 минут
23:52
Эльбрус Буткемп: школа программирования
Рет қаралды 322 М.
Alex hid in the closet #shorts
00:14
Mihdens
Рет қаралды 16 МЛН