Build Restful CRUD API for a simple Note-Taking application using Spring Boot, Mysql, JPA and Hibernate.
-
Java - 21
-
Maven - 3.x.x
-
Mysql - 8.x.x
1. Clone the application
git clone https://github.com/callicoder/spring-boot-mysql-rest-api-tutorial.git2. Create Mysql database
create database notes_app3. Change mysql username and password as per your installation
-
open
src/main/resources/application.properties -
change
spring.datasource.usernameandspring.datasource.passwordas per your mysql installation
4. Build and run the app using maven
mvn package
java -jar target/note-taking-app.jarAlternatively, you can run the app without packaging it using -
mvn spring-boot:runThe app will start running at http://localhost:8080.
New alternative to run the app, If you want to run application locally with mysql container, you can just use docker compose like below:
docker compose upAnd then, you can directly run the app by one of the above steps.
You can also run spring boot app and mysql container together by uncommenting the app service part.
And you can see all the running containers after then:
docker psAfter successfully running & testing the services, you can stop and remove those by:
docker compose downThe app defines following CRUD APIs.
GET /api/notes
POST /api/notes
GET /api/notes/{noteId}
PUT /api/notes/{noteId}
DELETE /api/notes/{noteId}
You can test them using postman or any other rest client.
You can find the tutorial for this application on my blog -
https://www.callicoder.com/spring-boot-rest-api-tutorial-with-mysql-jpa-hibernate/