Spring Data JDBC Tutorial: How to simplify data access in Spring Boot

  Рет қаралды 20,652

Dan Vega

Dan Vega

Жыл бұрын

I'm really excited to bring you this Spring Data JDBC tutorial. In this lesson, you can follow by creating your own Spring Boot application from scratch and accessing a database with Spring Data JDBC. You will learn how to create relationships with domain objects and across aggregates. Speaking of aggregates we will take a brief stop to discuss aggregates and aggregate roots from Domain Driven Design.
🔗Resources & Links mentioned in this video:
Github Repo: github.com/danvega/blog-jdbc
Connect and Configure H2: • H2 Database Spring Boo...
👋🏻Connect with me:
Website: www.danvega.dev
Twitter: / therealdanvega
Github: github.com/danvega
LinkedIn: / danvega
Newsletter: www.danvega/dev/newsletter
SUBSCRIBE TO MY CHANNEL: bit.ly/2re4GH0 ❤️

Пікірлер: 52
@omkar.at.office
@omkar.at.office Жыл бұрын
Awesome presentation! I have used Spring Data JDBC in one of my side projects. Initially it took some time to understand, but it simplifies many things as compared to JPA. Thanks.
@maxjustmax521
@maxjustmax521 Жыл бұрын
finally someone smart talking about tracking entity changes! thank you so much Dan!
@DanVega
@DanVega Жыл бұрын
Thank you, Max!
@desdichago
@desdichago Жыл бұрын
Your channel is a goldmine!
@hudamisatv
@hudamisatv Жыл бұрын
Thanks for clearing my confusion about Aggregates and how they are related.
@DanVega
@DanVega Жыл бұрын
You are welcome!
@prabhjotsingh9597
@prabhjotsingh9597 Жыл бұрын
Thank you Dan. Was looking for this
@DanVega
@DanVega Жыл бұрын
Glad to help
@luisfe1097
@luisfe1097 Жыл бұрын
this channel is pure gold
@gequation
@gequation Жыл бұрын
I found this channel today and I had to subscribe. Great content 👏
@DanVega
@DanVega Жыл бұрын
Thank you!
@jaysizmir9432
@jaysizmir9432 Жыл бұрын
I never used Spring data JDBC before but this video opens a new perspective for me about having more understandement and about relationships. Thank you Dan ! This makes wanna dive more and how to do a few things with spring data JDBC : 1. Pagination of the Comments within a Post when reading a Post, assuming we had to add it as feature 2. Filtering and sorting of Comments with a given post 3. Transactions between Post and Author
@LaMartini3001
@LaMartini3001 7 ай бұрын
As an Android dev, I am used to build databases with sqlite without any annotations. This is working for me since years in real world apps. So diving in the Hibernate stuff, it feels like a pain in the ass to do even simple inserts. I will give JDBC a try! Thanks for your tutorial!
@praveens2272
@praveens2272 Жыл бұрын
Loved your video
@DanVega
@DanVega Жыл бұрын
Appreciate it!
@yerassylaitkazy2583
@yerassylaitkazy2583 Жыл бұрын
thanks a lot. great tutorial
@DanVega
@DanVega Жыл бұрын
You are welcome!
@geofreyssekirime2846
@geofreyssekirime2846 Жыл бұрын
Awesome tutorial, I liked the in aggregate solution i.e between Post and Comment. I am curious on how you would go about to solve to oddities below 1. Pagination of the Comments within a Post when reading a Post, assuming we had to add it as feature 2. Filtering and sorting of Comments with a given post 3. Transactions between Post and Author
@arghyamitra3281
@arghyamitra3281 Жыл бұрын
Thank you
@DanVega
@DanVega Жыл бұрын
You're welcome
@dekeyserwilly
@dekeyserwilly Жыл бұрын
Thanks.
@DanVega
@DanVega Жыл бұрын
You're welcome
@igorpavlenkov3658
@igorpavlenkov3658 Жыл бұрын
great video
@DanVega
@DanVega Жыл бұрын
Thank you, Igor!
@nikochen832
@nikochen832 Жыл бұрын
😁I will read ur blogs and leave comments since today.
@nikochen832
@nikochen832 Жыл бұрын
Dan, i found that no comment input text in your blogs. NVM, i will read your github discussions.
@DanVega
@DanVega Жыл бұрын
I turned off blog comments. You can always email me or reach out to me on twitter. check out danvega.dev for all of my info.
@Analogrebelable
@Analogrebelable Жыл бұрын
Great tutorial, it was really helpful. One thing that left me a bit disappointed is you mentioned the "version" column in the Post entity, which is something specific to Spring Data JDBC but did not really explain it. Do you know where I can read more about this concept? Cheers
@bamideletewogbade1503
@bamideletewogbade1503 Жыл бұрын
great tutorial. could you please show how to solve this using JPA and entity mapping? thanks
@DanVega
@DanVega Жыл бұрын
Great suggestion! github.com/danvega/office-hours/discussions/41
@amitdubey9201
@amitdubey9201 Жыл бұрын
@Dan Vega Please do one on Spring Data JPA
@aliksargsyan2782
@aliksargsyan2782 Жыл бұрын
Hey Dan. Can I do same thing without using JDBC using only java 8 stream?
@AleksandarT10
@AleksandarT10 Жыл бұрын
Over the years being in different teams and working with different people, i have come to the conclusion that JPA and Hibernate is poorly understood by the majority of people and usually it makes more harm than help. I personally always use Spring JDBC and write plan SQL queries for everything along with RowMappers. Having a strong grasp of SQL helps me have full control over everything and i don't have to care about some strange behavior of JPA and Hibernate. Anyway if the people at the team understand it properly, than i see no issues with using it.
@desdichago
@desdichago Жыл бұрын
So if I want to see only list of posts without comments on /posts, I need to look at them as separate aggregates, right? And in single post view I would load that comments (/posts/1).
@hareeshkumar7468
@hareeshkumar7468 4 ай бұрын
Hi Dan! I want to know how to implement pagination + inner conditions like (condition OR condition) AND (condition OR condition) in spring data jdbc. Please help out on this
@linhnguyenvu8083
@linhnguyenvu8083 Жыл бұрын
Hello, can you explain me why i have "Internal Server Error" when i run this https request in postman? Thanks
@mihirsawant8817
@mihirsawant8817 Жыл бұрын
Do we have to mark command line runner as @Bean explicitly, will spring not automatically take into context as it's comnand line runner..
@DanVega
@DanVega Жыл бұрын
Yes you need to mark it as a bean. If you create a class that implements the CLR you will need to mark that with @Component.
@CATO_YT
@CATO_YT 3 ай бұрын
What's the use of author repository?
@ShaileshDagar
@ShaileshDagar Жыл бұрын
I was thinking that a comment would also be associated with an 'Author' i.e. the author of that comment. Could aggregates overlap to share entities? In this case, 'Comment' would be shared with the aggregate having 'Author' and the other one having 'Post'. Could this be possible?
@caoduc2436
@caoduc2436 Жыл бұрын
can we use spring data jdbcd combine with spring data jpa
@theNikki1
@theNikki1 Жыл бұрын
I'm puzzled Entitys identity should be based on primary key, and on primary key only (otherwise it is a value object) However, you are using record as Author entity without overriding equals (and hashCode). How can this even work?
@theNikki1
@theNikki1 Жыл бұрын
Around 33:19 you are querying rows from comment table. There's no primary key. How can we have multiple comments on the same Post-row?
@nagamalli9999
@nagamalli9999 Жыл бұрын
Why not use Lombok for getters and setters
@bojana1215
@bojana1215 Жыл бұрын
Hi Dan, thank you so much on this video, I am big fun of your work :). I downloaded and tried code from this video but it didn't work. Can you please check? Thank you so much.
@viewer_evgeniy
@viewer_evgeniy 7 ай бұрын
Where is your blog? I want to leave a comment.
@eugenesmith9940
@eugenesmith9940 10 ай бұрын
This is really insane... jdbc, jdbctemplate, jpa, spring data jpa, spring data jdbc, hibernate... It's really hard to understand what is what and when to use what...
@orhn
@orhn Жыл бұрын
Great. Just when i was about to quit on dealing a simple öne-to-many rel. with JPA
@gonzalooviedo5435
@gonzalooviedo5435 Жыл бұрын
AHAHAHA I hate this HATE relations in JPA, now, I'm like you
@vipinkoul595
@vipinkoul595 6 ай бұрын
Hi Dan, this is very good tutorial. Some doubts, could you please help in clarifying. 1) In spring-data-jdbc, how are classes mapped to actual table where data gets persisted? In the application that you showed, Post is a class (and since we are not using JPA, so we don't have @Entity annotation), how does this module come to know which table in DB does it need to persist a class? 2) Since spring-data-jdbc doesn't use any ORM , so how does this mapping is happening 3) I was under (mis) conception that Repository is available for spring-data-jpa only , but it seems that Repository concept is in spring-data-jdbc as well (so we can use simple repo.save()) - this is confusion; as same / similar functionality is provided by spring-data-jpa; what exactly is the differnce and how sping-data-jdbc is able to achieve this, even without having ORM (which does table == Class mapping etc.). Could you please help in clarifying this doubt?
@alexbalak7558
@alexbalak7558 Жыл бұрын
How Data JDBC knows that the COLUMN 'first_name' in the DB refers to the class attribute 'firtstName' ?
@JasmineTrader-mw8ru
@JasmineTrader-mw8ru Жыл бұрын
If i were to change database feom postgres to mysql, say. How much effort would it take? What are the steps to proceed
Watermelon Cat?! 🙀 #cat #cute #kitten
00:56
Stocat
Рет қаралды 49 МЛН
Каха ограбил банк
01:00
К-Media
Рет қаралды 9 МЛН
Domain-Driven Design with Relational Databases Using Spring Data JDBC
1:10:30
Spring boot + PostgreSQL + Liquibase + Testcontainers
22:01
Sergey Labuzov
Рет қаралды 8 М.
Spring Tips: Spring Data JDBC
27:36
SpringDeveloper
Рет қаралды 17 М.
JDBC vs JPA: Pros and Cons
11:56
Pro Coder
Рет қаралды 28 М.
Java is slow and verbose (or so they say)
20:39
Dan Vega
Рет қаралды 9 М.
Lid hologram 3d
0:32
LEDG
Рет қаралды 3,7 МЛН
Asus  VivoBook Винда за 8 часов!
1:00
Sergey Delaisy
Рет қаралды 881 М.
Secret Wireless charger 😱 #shorts
0:28
Mr DegrEE
Рет қаралды 705 М.
iOS 18 vs Samsung, Xiaomi,Tecno, Android
0:54
AndroHack
Рет қаралды 51 М.