spring/h2控制台连接到数据库,但不显示其中的任何数据

oug3syen  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(497)

我想将我的数据库从spring连接到h2控制台,但当我这样做时,它不会显示其中的任何表,我尝试了stackoverflow和google的所有解决方案,但似乎没有任何帮助这是我的application.properties文件:

spring.jpa.show-sql=true
spring.h2.console.enabled=true
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.url=jdbc:h2:mem:testdb

如果data.sql和存储在resources中,则为我的数据库的名称
pom.xml的内容:
4.0.0 org.springframework.boot spring boot starter parent 2.3.3.release nameless project 0.0.1-spring boot快照演示项目

<properties>
    <java.version>11</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>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

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

[![测试连接][1]][1]

由db:

insert into user values (1,'Siamak', 'Codeengine11@gmail.com')
insert into user values (2,'John', 'John@john.com')
insert into user values (3,'Adam', 'adam@adam.com')

insert into category values (1,'Travel')
insert into category values (2,'Auto Loan')
insert into category  values (3,'Travel')

insert into expense values (100,'New York Business Trip','2019-06-16T17:00:00.000Z','New York',1,1)
insert into expense values (101,'Ford Mustang Payment','2019-06-15T15:00:00.000Z','Los Angeles',2,2)
insert into expense values(102,'Grand Canyon Trip With Family','2019-06-15T15:00:00.000Z','Arizona',3,1)

型号:

@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
@Table(name="user")
public class User {

    @Id
    private Long id;

    private String name;

    private String email;

}

删除时:

spring.datasource.username=sa
spring.datasource.password=
spring.datasource.url=jdbc:h2:mem:testdb

h2控制台出现以下错误:

Database "mem:testdb" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 90149/90149
jm81lzqq

jm81lzqq1#

使用h2运行的应用程序的my application.properties如下所示:

spring.datasource.url=jdbc:h2:file:~/test;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver

spring.datasource.platform=h2
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

# Hibernate ddl auto (create, create-drop, update)

spring.jpa.hibernate.ddl-auto=create

# show sql commands

spring.jpa.show-sql=true

相关问题