Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.DS_Store

HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
Expand Down
57 changes: 6 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,12 @@
# Spring Boot JdbcTemplate example with PostgreSQL: Build CRUD Rest API
Build a Spring Boot CRUD Rest API example that uses Spring Data Jdbc to make CRUD Operations with PostgreSQL Database. You'll know:
- How to configure Spring Data to work with PostgreSQL database
- How to define Data Models and Repository interfaces
- Way to create Spring Rest Controller to process HTTP requests
- Way to use Spring Data Jdbc to interact with Database

For instruction, please visit:
> [Spring Boot JdbcTemplate and PostgreSQL example: CRUD Rest API](https://www.bezkoder.com/spring-boot-jdbctemplate-postgresql-example/)

Front-end that works well with this Back-end
> [Axios Client](https://www.bezkoder.com/axios-request/)

> [Angular 8 Client](https://www.bezkoder.com/angular-crud-app/) / [Angular 10 Client](https://www.bezkoder.com/angular-10-crud-app/) / [Angular 11 Client](https://www.bezkoder.com/angular-11-crud-app/) / [Angular 12 Client](https://www.bezkoder.com/angular-12-crud-app/)

> [Vue 2 Client](https://www.bezkoder.com/vue-js-crud-app/) / [Vue 3 Client](https://www.bezkoder.com/vue-3-crud/) / [Vuetify Client](https://www.bezkoder.com/vuetify-data-table-example/)

> [React Client](https://www.bezkoder.com/react-crud-web-api/) / [React Redux Client](https://www.bezkoder.com/react-redux-crud-example/)

More Practice:
> [Spring Boot JdbcTemplate, H2 Database: CRUD example](https://www.bezkoder.com/spring-boot-jdbctemplate-crud-example/)

> [Spring Boot JdbcTemplate, MySQL: CRUD example](https://www.bezkoder.com/spring-boot-jdbctemplate-example-mysql/)

> [Spring Boot, Hibernate, PostgreSQL example](https://www.bezkoder.com/spring-boot-postgresql-example/)

> [Spring Boot with MongoDB CRUD example](https://www.bezkoder.com/spring-boot-mongodb-crud/)

> [Spring Boot, Hibernate, Oracle example](https://www.bezkoder.com/spring-boot-hibernate-oracle/)

> [Spring Boot, Hibernate, SQL Server example](https://www.bezkoder.com/spring-boot-sql-server/)

> [Spring Boot File upload example with Multipart File](https://www.bezkoder.com/spring-boot-file-upload/)

> [Spring Boot Pagination & Filter example | Spring JPA, Pageable](https://www.bezkoder.com/spring-boot-pagination-filter-jpa-pageable/)

> [Spring Data JPA Sort/Order by multiple Columns | Spring Boot](https://www.bezkoder.com/spring-data-sort-multiple-columns/)

> [Spring Boot Repository Unit Test with @DataJpaTest](https://www.bezkoder.com/spring-boot-unit-test-jpa-repo-datajpatest/)

> [Deploy Spring Boot App on AWS – Elastic Beanstalk](https://www.bezkoder.com/deploy-spring-boot-aws-eb/)

Security:
> [Spring Boot + Spring Security JWT Authentication & Authorization](https://www.bezkoder.com/spring-boot-jwt-authentication/)

Run both Back-end & Front-end in one place:
> [Integrate Angular with Spring Boot Rest API](https://www.bezkoder.com/integrate-angular-spring-boot/)

> [Integrate React.js with Spring Boot Rest API](https://www.bezkoder.com/integrate-reactjs-spring-boot/)

> [Integrate Vue.js with Spring Boot Rest API](https://www.bezkoder.com/integrate-vue-spring-boot/)
## Start Dev DB
```
docker compose -f docker-compose.yaml up
```

## Run Spring Boot application
```
mvn spring-boot:run
```

## Reachable at
http://localhost:8080/api/tutorials
28 changes: 28 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#docker compose -f docker-compose.yaml up
version: '3'
services:

db:
image: "postgres:14"
container_name: testdb
environment:
- POSTGRES_DB=testdb
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_HOST_AUTH_METHOD=trust
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres"]
interval: 30s
timeout: 30s
retries: 3
restart: always
stdin_open: true
tty: true
ports:
- 8087:5432
volumes:
- data:/var/lib/postgresql/data
- ./docker-entrypoint-initdb.d/init.sql:/docker-entrypoint-initdb.d/init.sql

volumes:
data:
7 changes: 7 additions & 0 deletions docker-entrypoint-initdb.d/init.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CREATE TABLE tutorials
(
id BIGSERIAL PRIMARY KEY NOT NULL,
title VARCHAR(255),
description VARCHAR(255),
published BOOLEAN
);
4 changes: 2 additions & 2 deletions src/main/resources/application.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
spring.datasource.url= jdbc:postgresql://localhost:5432/testdb
spring.datasource.url= jdbc:postgresql://localhost:8087/testdb
spring.datasource.username= postgres
spring.datasource.password= 123
spring.datasource.password= postgres