首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用jpa+spring boot创建表

无法使用jpa+spring boot创建表
EN

Stack Overflow用户
提问于 2017-12-08 21:42:13
回答 3查看 14.5K关注 0票数 2

我正在尝试使用JPA生成表。但我不能创建它。代码中没有错误,但似乎有配置错误。但是我找不到它,我尝试了很多配置,但是什么也没有发生。非常感谢。

这是application.property

代码语言:javascript
复制
spring.datasource.url=jdbc:mysql://localhost:3306/springapp
spring.datasource.username= root
spring.datasource.password= me
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create

这是我的班级:

代码语言:javascript
复制
@Entity
public class Customer {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;
    private String name;
    private String phone;

    public int getId() {
        return id;
    }
    public void setId(int 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 Customer(String name, String phone) {
        super();
        this.name = name;
        this.phone = phone;
    }
    public Customer() {
        super();
    }
}

这是应用程序:

代码语言:javascript
复制
@SpringBootApplication
public class Application {

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

这是控制器:

@RestController @RequestMapping("/customer")公共类CustomerController { @Autowired customerRepository;

代码语言:javascript
复制
@RequestMapping("/findall")
@ResponseBody
public List<Customer> findAll() {
    return customerRepository.findAll();
}

}

Pom.xml

代码语言:javascript
复制
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>GStock-3</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>GStock-3</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-12-08 22:12:13

尝试添加@EntityScan

代码语言:javascript
复制
@EntityScan("<package with entities>")
@SpringBootApplication 
public class Application { ... }
票数 5
EN

Stack Overflow用户

发布于 2017-12-08 21:50:27

根据目前的信息,我有几个建议/问题可能会对你有所帮助:

  • 在MySQL
  • 中,“MySQL”数据库是否存在分配了正确的用户(根用户)和密码(me)?
  • 我在代码中看不到@存储库定义,例如

@存储库公共接口CustomerRepository扩展了JpaRepository{}

票数 1
EN

Stack Overflow用户

发布于 2017-12-08 21:55:05

在您的mysql上执行以下命令:

mysql>创建数据库db_example;--创建新数据库

mysql>创建由‘ThePassword’标识的用户'springuser'@'localhost‘;--创建用户

mysql> grant all on localhost to 'springuser'@'localhost';--将所有权限授予新创建的数据库上的新用户

并添加到application.xml

代码语言:javascript
复制
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword

你可以通过this link

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47715582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档