Proyecto Prueba

Contactar con el profesor

Vista

./src/main/webapp/index.html
<form action="/createPersona">
<input type="text" name="nombre">
<input type="submit" value="Alta">
</form>
Descargar Proyecto

Controlador

com.pablomonteserin.prueba.controller.PersonaController
@Controller // @RestController
public class PersonaController {	
	
	@Autowired
	private PersonaRepository personaRepository;
	
	@RequestMapping(path = "/createPersona", method = RequestMethod.GET)
	public String submit(@ModelAttribute("persona")Persona persona, ModelMap model) throws IOException{
		personaRepository.save(persona);
		return "redirect:index.html";
	}
}
Otros ejemplos de controlador
Recuperando datos sin asociarlos
automáticamente al bean del modelo
@RequestMapping(path = "/createPaciente", method = RequestMethod.GET)
public String createPaciente(@ModelAttribute("nombre")String nombre, @ModelAttribute("apellidos")String apellidos,@ModelAttribute("fecha_alta")String fechaAlta,ModelMap model) {
	Paciente paciente = new Paciente();
	paciente.setNombre(nombre);
	paciente.setApellidos(apellidos);

	try {
		Date fechaAltaDate=simpleDateFormat.parse(fechaAlta);
		paciente.setFecha_alta(fechaAltaDate);
	} catch (ParseException e) {
		e.printStackTrace();
		System.out.println("Algo salió mal");
	}
				
	pacienteRepository.save(paciente);
	return "redirect:index.html";
}
Yendo a una vista en la que se cargarán los datos
@RequestMapping(path = "/consultaPacientes", method = RequestMethod.GET)
public ModelAndView consultaPacientes(ModelMap model) {
	Iterable<Paciente> pacientes = pacienteRepository.findAll();
	ModelAndView modelo = new ModelAndView("consulta");
	model.addAttribute("pacientes", pacientes);
	return modelo;
}

Modelo

com.pablomonteserin.prueba.persistence.repository.PersonaRepository;
public interface PersonaRepository extends CrudRepository<Persona, Integer> {

}
com.pablomonteserin.prueba.config.PruebaConfiguration
(configuración del acceso a la base de datos)
@Configuration
@EnableJpaRepositories(basePackages = "com.pablomonteserin.prueba.persistence.repository")
@EnableTransactionManagement
public class PruebaConfiguration {
	
	@Bean
	public PlatformTransactionManager transactionManager(EntityManagerFactory emf) {
	    JpaTransactionManager transactionManager = new JpaTransactionManager();
	    transactionManager.setEntityManagerFactory(emf);
	 
	    return transactionManager;
	}
	@Bean
	   public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
	      LocalContainerEntityManagerFactoryBean em 
	        = new LocalContainerEntityManagerFactoryBean();
	      em.setDataSource(dataSource());
	      em.setPackagesToScan("com.pablomonteserin.prueba.persistence.model");
	 
	      JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
	      em.setJpaVendorAdapter(vendorAdapter);
	      em.setJpaProperties(additionalProperties());
	 
	      return em;
	   }
	@Bean
	public DataSource dataSource(){
	    DriverManagerDataSource dataSource = new DriverManagerDataSource();
	    dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
	    dataSource.setUrl("jdbc:mysql://localhost:3306/persona?serverTimezone=UTC");
	    dataSource.setUsername( "pm" );
	    dataSource.setPassword( "pp" );
	    return dataSource;
	}
	private Properties additionalProperties() {
	    Properties properties = new Properties();
	    properties.setProperty("hibernate.hbm2ddl.auto", "create");
	    properties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
	        
	    return properties;
	}
}

Aplicación

Este fichero se coloca habitualmente en la raíz del árbol de directorios del proyecto. Este fichero es el que se lanza cuando hacemos run as.

com.pablomonteserin.PruebaApplication
@SpringBootApplication
public class PruebaApplication {

	public static void main(String[] args) {
		SpringApplication.run(PruebaApplication.class, args);
	}

}

← Instalación en Spring Boot
Cargar JSTL →

Aviso Legal | Política de privacidad