Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package local.demo.models;
- import java.io.Serializable;
- import javax.persistence.Entity;
- import javax.persistence.GeneratedValue;
- import javax.persistence.GenerationType;
- import javax.persistence.Id;
- @Entity
- public class Evento implements Serializable {
- private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private long codigo;
- private String nome;
- private String local;
- private String data;
- private String horario;
- //gets e sets
- }
- package local.demo.controllers;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.servlet.ModelAndView;
- import local.demo.models.Evento;
- import local.demo.repository.EventoRepository;
- @Controller
- public class EventoController {
- @Autowired
- private EventoRepository er;
- @RequestMapping(value = "/cadastrarEvento", method = RequestMethod.GET)
- public String form() {
- return "evento/formEvento";
- }
- @RequestMapping(value = "/cadastrarEvento", method = RequestMethod.POST)
- public String form(Evento evento) {
- er.save(evento);
- return "redirect:/cadastrarEvento";
- }
- @RequestMapping("/eventos")
- public ModelAndView listaEventos() {
- ModelAndView mav = new ModelAndView("index");
- Iterable<Evento> eventos = er.findAll();
- mav.addObject("eventos", eventos);
- return mav;
- }
- @RequestMapping("/{codigo}")
- public ModelAndView detalhesEvento(@PathVariable("codigo") long codigo) {
- Evento evento = er.findByCodigo(codigo);
- ModelAndView mv = new ModelAndView("evento/detalhesEvento");
- mv.addObject("evento", evento);
- return mv;
- }
- }
- package local.demo.repository;
- import org.springframework.data.repository.CrudRepository;
- import local.demo.models.Evento;
- public interface EventoRepository extends CrudRepository<Evento, String> {
- Evento findByCodigo(long codigo);
- }
- <!DOCTYPE html>
- <html xmlns:th="http://thymeleaf.org"
- xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
- <head>
- <title>Cria Eventos Facil</title>
- <!--Import Google Icon Font-->
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons"
- rel="stylesheet"/>
- <!--Import materialize.css-->
- <link type="text/css" rel="stylesheet" href="css/materialize.min.css"
- media="screen,projection"/>
- <!--Let browser know website is optimized for mobile-->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- </head>
- <body>
- <h1>Lista de Eventos</h1>
- <h3>
- <a href="/cadastrarEvento">Cadastrar Evento</a>
- </h3>
- <table class="container">
- <thead>
- <tr>
- <th>Id</th>
- <th>Nome</th>
- <th>Local</th>
- <th>Data</th>
- <th>Horario</th>
- </tr>
- </thead>
- <tbody>
- <tr th:each="evento : ${eventos}">
- <!--<td><a th:href="${(#mvc.url('EC#detalhesEvento').arg(0, evento.codigo)).build()}"><span th:text="${evento.nome}"></span></a></td>-->
- <td><span th:text="${evento.codigo}"></span></td>
- <td><span th:text="${evento.nome}"></span></td>
- <td><span th:text="${evento.local}"></span></td>
- <td><span th:text="${evento.data}"></span></td>
- <td><span th:text="${evento.horario}"></span></td>
- </tr>
- </tbody>
- </table>
- <!--Import jQuery before materialize.js-->
- <script type="text/javascript"
- src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
- <script type="text/javascript" src="js/materialize.min.js"></script>
- </body>
- </html>
- <tbody>
- <tr th:each="evento : ${eventos}">
- <td><a th:href="${(#mvc.url('EC#detalhesEvento').arg(0, evento.codigo)).build()}"><span th:text="${evento.nome}"></span></a></td>
- <!--<td><span th:text="${evento.codigo}"></span></td>-->
- <td><span th:text="${evento.nome}"></span></td>
- <td><span th:text="${evento.local}"></span></td>
- <td><span th:text="${evento.data}"></span></td>
- <td><span th:text="${evento.horario}"></span></td>
- </tr>
- </tbody>
- package local.demo.data;
- import javax.sql.DataSource;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.Profile;
- 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
- @Profile("dev")
- public class DataConfiguration {
- @Bean
- public DataSource dataSource(){
- DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName("com.mysql.jdbc.Driver");
- dataSource.setUrl("jdbc:mysql://localhost:3306/demoteste");
- dataSource.setUsername("root");
- dataSource.setPassword("");
- 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;
- }
- }
Add Comment
Please, Sign In to add comment