2
respostas

Duvida sobre webservice

Ja que a ideia do webservice não é ter banco de dados integrado dentro da aplicação, em que parte do server (que iniciamos no cmd) cria uma conexão c o banco, visto q não precisei criar nenhum banco de dados e nem abrir um sgbd no meu computador

2 respostas

Eai Gabriel, tranquilo?

A aplicação servidor usada nesse curso me parece utilizar a base de dados hsqldb que roda em memória embutida dentro da aplicação.

Se você notar, quando inicia a aplicação servidor, ele cria um diretório database no mesmo diretório em que se encontra o jar executado via cmd. Dentro dessa pasta ele gerencia alguns scripts para a criação das tabelas e manutenção dos dados inseridos durante a execução, inclusive o próprio banco de dados.

Como essa aplicação é somente auxiliar dentro desse curso de Android, acredito que essa abordagem foi escolhida por simplicidade na solução oferecida para o server, visto que não é o foco do curso.

Espero ter ajudado. Abraço

Oi Gabriel, blz?

Foi exatamente como o Vinicius mencionou, eu utilizei o hsqldb como um banco de dados integrado com a aplicação.

O principal motivo de usar essa alternativa foi para minimizar a responsabilidade de preparar o ambiente para o aluno, dado que o curso não é focado para ensinar sobre o desenvolvimento de um web service/API.

Respondendo a sua dúvida, quando a aplicação é inicializada ele tenta verificar se existe um banco de dados com base nas configurações que foram feitas. Caso exista ele vai reutilizar, caso contrário ele a cria. A configuração é com base no arquivo application.properties que está da seguinte maneira:

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

spring.datasource.url=jdbc:hsqldb:file:database/main/db
spring.datasource.username=sa
spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.HSQLDialect
spring.jpa.hibernate.ddl-auto=update

spring.jackson.serialization-inclusion: non-null

Perceba que ele espera que o banco de dados esteja no arquivo local database/main/db, por isso ele cria o diretório com este nome quando não existe.

Caso tenha interesse em modificar e usar um banco de dados da sua preferência, o projeto é fornecido no último exercício do curso com instruções para realizar o build.

[]s