7
respostas

Erro ao tentar acessar banco de dados

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class br.localcar.conf.JPAConfiguration: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean br.localcar.conf.JPAConfiguration.entityManagerFactory()] threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.jdbc.Driver]
7 respostas

Oi Eduardo, posta o código do seu Controller e do DAO.

package br.localcar.daos;

import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional;

import br.localcar.models.Cadastro;

@Repository

@Transactional

public class ClienteDAO {

@PersistenceContext

private EntityManager manager;

public void gravar(Cadastro cadastro) {

manager.persist(cadastro); }

}

package br.localcar.controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;

@Controller

public class HomeController {

@RequestMapping("/")

public String index(){

System.out.println("Entrando na home da CDC");

return "home";

}

}

package br.localcar.controllers; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;

import br.localcar.daos.ClienteDAO; import br.localcar.models.Cadastro;

@Controller

public class CadastroController {

@Autowired

private ClienteDAO clienteDAO;

@RequestMapping("/clientes/cadastro")

public String cadastro() {

return "clientes/cadastro"; }

@RequestMapping("/clientes")

public String gravar(Cadastro cadastro) { System.out.println(cadastro); clienteDAO.gravar(cadastro); return "clientes/cadastrado"; }

}

Oi Eduardo, eu tentei visualizar o problemas mas tá um pouco complicado, edita o código e coloca ele dentro do espaço de inserir código, facilita muito para quem está tentando ajudar

Olá Joel, arrumei um pouco mas a indentação não aparece corretamente. Espero que tenha ficado mais claro. Aguardo o retorno e obrigado !

No seu "persistence.xml" você declarou a propriedade:

<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />

?

Outra coisa, o jar do MySQL connector está no seu projeto? Senão na hora da JPA carregar o driver, vai dar esse erro. Se tiver usando o maven, só adicionar a dependência lá no pom.xml:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
</dependency>