【问题标题】:Generate MySql database with springboot使用spring boot生成MySql数据库
【发布时间】:2017-05-28 23:07:18
【问题描述】:

我想用springboot项目生成MySQL数据库。 我创建了一个maven项目,这是pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Springboot</groupId>
<artifactId>ma.mahmoud.springboot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>SpringBootApps</name>
<description>First project</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.4.RELEASE</version>
</parent>

<properties>
    <hibernate.version>5.0.3.Final</hibernate.version>
    <spring.version>4.2.2.RELEASE</spring.version>
</properties>

<dependencies>

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

    <!-- SPRING -->
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0.2</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0.2</version>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.0</version>
    </dependency>
</dependencies>

<!-- BUILD -->
<build>
    <plugins>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

我使用 javax.persistence 注释创建一个实体,并使用 spring 数据、一个服务和一个控制器创建 DAO 来公开我的服务。

我在 src/main/resources 中添加了 application.properties

server.port=1111
spring.datasource.url=jdbc:mysql://localhost:3306/sping-boot
spring.datasource.username=root
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=create-drop

当我启动我的应用程序时,我没有任何错误,但数据库已被创建。

我是不是忘记了什么?

【问题讨论】:

  • 我认为你是对的。我有主类和不同包中的实体,我没有尊重树。如果可行,我会在这条赛道上进行挖掘,我会向你发出信号。
  • spring.jpa.hibernate.ddl-auto=create-drop 将在应用程序关闭后删除表。
  • 你没有使用 Spring Boot... 你正在创建一个经典的战争(从你使用的插件来看)并且只使用 Spring Boot 进行依赖管理。这让我觉得这些属性几乎什么都不做。

标签: java mysql spring maven spring-boot


【解决方案1】:

为什么要添加它?

   <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0.2</version>
    </dependency>

请添加 EntityScanConfig 类的示例。另一方面,据我所知,@EntityScan 不会创建 bean。它仅标识特定持久性上下文应使用哪些类

@EnableAutoConfiguration
@EntityScan({"com.example.entity.model"})
public class EntityScanConfig {

}

【讨论】:

  • 我在父包“ma.myapps”中添加了主类,在子包“ma.myapps.entity”中添加了rntity,它正在工作
猜你喜欢
  • 2019-10-13
  • 1970-01-01
  • 2020-11-15
  • 2018-04-01
  • 2017-10-24
  • 1970-01-01
  • 2020-02-06
  • 2017-09-29
  • 2020-09-03
相关资源
最近更新 更多