2016-06-10 5 views
0

Я новичок весной я отправлю свой код, что application.propertiesвесна JPA загрузки данных MySQL не может создать базу данных

spring.datasource.url=jdbc:mysql://localhost/spring 
spring.datasource.username=root 
spring.datasource.password= 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect 
spring.jpa.hibernate.ddl-auto=update 

и это мое объектные

package model; 

import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 

@Entity 
public class Person { 
    @Id 
     @GeneratedValue(strategy = GenerationType.AUTO) 
private long id; 
private String name; 
private String phone; 
private String adresse; 
public long getId() { 
    return id; 
} 
public void setId(long id) { 
    this.id = id; 
} 
public String getName() { 
    return name; 
} 
public void setName(String name) { 
    this.name = name; 
} 
public String getPhone() { 
    return phone; 
} 
public void setPhone(String phone) { 
    this.phone = phone; 
} 
public String getAdresse() { 
    return adresse; 
} 
public void setAdresse(String adresse) { 
    this.adresse = adresse; 
} 
public Person(long id, String name, String phone, String adresse) { 
    super(); 
    this.id = id; 
    this.name = name; 
    this.phone = phone; 
    this.adresse = adresse; 
} 
public Person() { 
    super(); 
} 

} 

и это является хранилище

package repositry; 



import org.springframework.data.jpa.repository.JpaRepository; 


import model.Person; 

public interface PersonRespositry extends JpaRepository<Person, Long> { 


} 

и мой контроллер

package contoller; 

import java.util.List; 

import org.springframework.beans.factory.annotation.Autowired; 

import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.RestController; 

import model.Person; 

import repositry.PersonRespositry; 

@RestController 
public class PersonController { 

    PersonRespositry rp; 
    @Autowired 
    public PersonController(PersonRespositry rp) { 
     // TODO Auto-generated constructor stub 
     this.rp=rp; 
    } 


    @RequestMapping("/find") 
    public Person find(long id){ 
     return rp.findOne(id); 
    } 

    @RequestMapping("/findall") 
    public List<Person> findall(){ 
     return rp.findAll(); 
    } 
    @RequestMapping(value="/hello") 
    public String Demo(){ 
     return "Hello world !!"; 
    } 
    @RequestMapping(value="/create", method=RequestMethod.GET) 
    public String create(){ 
     Person p=new Person(); 
     p.setName("med"); 
     p.setPhone("233888"); 
     p.setAdresse("rue "); 
     rp.save(p); 
     return " success"; 
    } 


} 

Это архитектор проекта:

При запуске приложения базы данных не генерирует и только локальный: 8080 работает.

+0

Вы должны сначала создать схему (базу данных) вручную. Затем запустите приложение, и приложение должно создать таблицы в схеме –

+0

. Я создаю схему – medbenjemaa

ответ

0

Ваша проблема заключается в местонахождении Application.java.

@ComponentScan ищет весенние бобы внутри пакета класса, аннотированного (@SpringBootApplication содержит @ComponentScan) и в подпакетах этого пакета.

Я уже предоставил пример очень похожей установке.

Пожалуйста, смотрите здесь: https://stackoverflow.com/a/27983870/2576531

Кроме того, намек на Роберта Москаля правильно. Сама база данных уже должна существовать. Только таблицы будут созданы автоматически.

0

Если вы хотите, чтобы данные были созданы, вам необходимо использовать create или create-drop. Если вы используете что-то вроде mysql, вам нужно создать хотя бы базу данных. Таблицы будут созданы для вас.

Я очень осторожно отношусь к этому экземпляру производственной базы данных.

+0

, убедитесь, что spring.jpa.hibernate.ddl-auto = update создает или обновляет базу данных – medbenjemaa

Смежные вопросы