Criei um programa simples usando Spring Boot, mas os dados do formulário não estão populando a tabela do banco, eles ficam na URL da página. Não estou conseguindo descobrir o porquê. Ele criou as colunas automaticamente
//Classe DataConfiguration.java -> cria conexao
package com.eventoapp;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.vendor.Database;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
@Configuration
public class DataConfiguration {
@Bean
public DataSource dataSource(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/eventoapp?verifyServerCertificate=false&useSSL=true");
dataSource.setUsername("root");
dataSource.setPassword("senhaAqui");
return dataSource;
}
@Bean
public JpaVendorAdapter jpaVendorAdapter() {
HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
adapter.setDatabase(Database.MYSQL);
adapter.setShowSql(true);
adapter.setGenerateDdl(true);
adapter.setDatabasePlatform("org.hibernate.dialect.MySQLDialect");
adapter.setPrepareConnection(true);
return adapter;
}
}
// Classe EventoController
package com.eventoapp.controllers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.eventoapp.models.Evento;
import com.eventoapp.repository.EventoRepository;
@Controller
public class EventoController {
@Autowired //faz injeção de dependências
private EventoRepository er;
@RequestMapping(value = "/cadastrarEvento", method = RequestMethod.GET)
public String form() {
return "evento/formEvento";
}
@RequestMapping(value = "/cadastrarEvento", method = RequestMethod.POST)
@ResponseBody
public String form(Evento evento) {
er.save(evento);
return "redirect:/cadastrarEvento";
}
}
// Interface EventoRepository
package com.eventoapp.repository;
import org.springframework.data.repository.CrudRepository;
import com.eventoapp.models.Evento;
public interface EventoRepository extends CrudRepository<Evento, String> {
}
// Parametros ficam na URL, mas não vão pra tabela: