Este é um projeto simples de um CRUD (Create, Read, Update, Delete) de contas bancárias, desenvolvido em Java com Spring Boot e Spring Data JPA. A tabela de saída no console é formatada com AsciiTable para melhor visualização.
- Criar conta com nome e saldo inicial
- Consultar todas as contas
- Consultar conta por ID
- Atualizar dados de uma conta
- Excluir conta por ID
- Banco de dados: MySQL (configurável via
application.properties) - Saída no console com tabela formatada
- Java 25
- Spring Boot 4.1.0
- Spring Data JPA
- MySQL 8.4 (Docker Compose)
- AsciiTable (para exibir tabelas no console)
- Maven
-
Suba o MySQL através do Docker Compose utilizando o comando:
docker compose up -d
-
Configure as credenciais no environment (.env, por exemplo):
MYSQL_ROOT_PASSWORD= MYSQL_DATABASE= MYSQL_USER= MYSQL_PASSWORD= DB_HOST=localhost DB_PORT=3306 DB_NAME=banco_db DB_TZ=America/Sao_Paulo
Veja o
application.propertiescomo referência:spring.datasource.url=jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=${DB_TZ} spring.datasource.username=${MYSQL_USER} spring.datasource.password=${MYSQL_PASSWORD}
-
Execute a aplicação:
mvn spring-boot:run
- Criar conta: adiciona uma nova conta com nome e saldo.
- Consultar todas as contas: exibe todas as contas em tabela formatada.
- Consultar por ID: exibe uma conta específica em tabela formatada.
- Atualizar conta: altera nome ou saldo da conta.
- Excluir conta: remove conta pelo ID.
- O projeto é voltado para aprendizado e demonstração de CRUD em Java.
- O Hibernate cria automaticamente as tabelas no MySQL (spring.jpa.hibernate.ddl-auto=create).
- É possível separar as configurações do banco em outro arquivo e usar placeholders para segurança.