Exemplo de CRUD – Java, Hibernate e Spring

Exemplo de CRUD – Java, Hibernate e Spring

O projeto LearnToImplement feito em Java será um sistema de gerenciamento pessoas (bem genérico). O objetivo principal deste projeto é mostrar como é possível implementar uma aplicação simples e as configurações necessárias para integrar as tecnologias: JavaEE + hibernate + JSP + Spring.

Qual tecnologia foi utilizada para construir este sistema?  

Para construir este exemplo utilizamos:  

Como rodar o exemplo?  

Primeiramente faça o download do projeto no nosso github. Antes de qualquer coisa, certifique-se que você possui o MySQL instalado e crie uma base de dados com o nome “learntoimplementspring”. Se você já possui o Netbeans e o tomcat instalado somente adicionar o projeto ao netbeans e executa-lo já subirá o servidor e conectará ao banco de dados.   Não se esqueça de mudar as credencias do banco de dados no arquivo: JpaConfiguration.  

O que eu gostei/não gostei na tecnologia utilizada?  

O maven gerencia as bibliotecas bem, no entanto existem problemas de conflitos entre o netbeans e o maven que causam erros. O Spring possui muitas annotations e saber o que cada uma delas significa é bastante complicado. O spring permite o gerenciamento dos Entity managers dentro de sua biblioteca, não é necessário adicionar o EJB.    

package config;


import java.util.Properties;
import javax.persistence.EntityManagerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.annotation.EnableTransactionManagement;



@EnableTransactionManagement

public class JpaConfiguration {

    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(){
        LocalContainerEntityManagerFactoryBean factoryBean 
                                  = new LocalContainerEntityManagerFactoryBean();
        JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setUsername("root");
        dataSource.setPassword("suasenha");
        dataSource.setUrl("jdbc:mysql://localhost:3306/learntoimplementspring");
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        factoryBean.setDataSource(dataSource);
        factoryBean.setJpaVendorAdapter(vendorAdapter);

        Properties props = new Properties();
        props.setProperty("hibernate.dialect", 
                          "org.hibernate.dialect.MySQL5Dialect");

        props.setProperty("hibernate.show_sql", "true");
        props.setProperty("hibernate.hbm2ddl.auto", "update");
        factoryBean.setJpaProperties(props);

        return factoryBean;
    }

    @Bean
    public JpaTransactionManager transactionManager(EntityManagerFactory emf){
        return new JpaTransactionManager(emf);
    }


}
 
 

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e forma com que ela pode transformar vidas!

Deixe uma resposta