有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Unnable将我的SpringBoot API连接到MYSQL数据库

我设法将我的应用程序与HSQLDB连接起来,并使其正常工作。但是我在连接MySQL时遇到了一些问题

这是我的堆栈跟踪:

应用程序运行失败

组织。springframework。豆。工厂BeanCreationException:创建名为“entityManagerFactory”的bean时出错,该bean在类路径资源中定义了[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]:初始化方法调用失败嵌套异常是javax。坚持不懈PersistenceException:[PersistenceUnit:default]无法生成Hibernate SessionFactory;嵌套的异常是org。冬眠例外GenericJDBCException:无法打开JDBC连接以执行DDL 在org。springframework。豆。工厂支持AbstractAutowireCapableBeanFactory。initializeBean(AbstractAutowireCapableBeanFactory.java:1796)~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。豆。工厂支持AbstractAutowireCapableBeanFactory。doCreateBean(AbstractAutowireCapableBeanFactory.java:595)~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。豆。工厂支持AbstractAutowireCapableBeanFactory。createBean(AbstractAutowireCapableBeanFactory.java:517)~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。豆。工厂支持抽象工厂。lambda$doGetBean$0(AbstractBeanFactory.java:323)~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。豆。工厂支持DefaultSingletonBeanRegistry。getSingleton(DefaultSingletonBeanRegistry.java:222)~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。豆。工厂支持抽象工厂。doGetBean(AbstractBeanFactory.java:321)~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。豆。工厂支持抽象工厂。getBean(AbstractBeanFactory.java:202)~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。上下文支持AbstractApplicationContext。getBean(AbstractApplicationContext.java:1108)~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。上下文支持AbstractApplicationContext。finishBeanFactoryInitialization(AbstractApplicationContext.java:868)~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。上下文支持AbstractApplicationContext。刷新(AbstractApplicationContext.java:550)~[spring-context-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。靴子网状物servlet。上下文ServletWebServerApplicationContext。刷新(ServletWebServerApplicationContext.java:141)~[spring-boot-2.3.0.M3.jar:2.3.0.M3] 在org。springframework。靴子SpringApplication。刷新(SpringApplication.java:758)~[spring-boot-2.3.0.M3.jar:2.3.0.M3] 在org。springframework。靴子SpringApplication。刷新(SpringApplication.java:750)~[spring-boot-2.3.0.M3.jar:2.3.0.M3] 在org。springframework。靴子SpringApplication。refreshContext(SpringApplication.java:397)~[spring-boot-2.3.0.M3.jar:2.3.0.M3] 在org。springframework。靴子SpringApplication。运行(SpringApplication.java:315)~[spring-boot-2.3.0.M3.jar:2.3.0.M3] 在org。springframework。靴子SpringApplication。运行(SpringApplication.java:1237)~[spring-boot-2.3.0.M3.jar:2.3.0.M3] 在org。springframework。靴子SpringApplication。运行(SpringApplication.java:1226)~[spring-boot-2.3.0.M3.jar:2.3.0.M3] 在com。实例演示。演示应用程序。main(DemoApplication.java:25)~[classes/:na] 在爪哇。base/jdk。内部的反映NativeMethodAccessorImpl。invoke0(本机方法)~[na:na] 在爪哇。base/jdk。内部的反映NativeMethodAccessorImpl。调用(NativeMethodAccessorImpl.java:62)~[na:na] 在爪哇。base/jdk。内部的反映DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43)~[na:na] 在爪哇。base/java。朗。反思。方法调用(Method.java:564)~[na:na] 在org。springframework。靴子开发工具。重新启动。重启启动器。跑(休息)艺术发射器。java:49)~[spring-boot-devtools-2.3.0.M3.jar:2.3.0.M3] 原因:javax。坚持不懈PersistenceException:[PersistenceUnit:default]无法生成Hibernate SessionFactory;嵌套异常为org。冬眠例外GenericJDBCException:无法打开JDBC连接以执行DDL 在org。springframework。奥姆。jpa。AbstractEntityManagerFactoryBean。buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:403)~[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。奥姆。jpa。AbstractEntityManagerFactoryBean。AfterPropertieSet(AbstractEntityManagerFactoryBean.java:378)~[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。奥姆。jpa。LocalContainerEntityManagerFactoryBean。AfterPropertieSet(LocalContainerEntityManagerFactoryBean.java:341)~[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。豆。工厂支持AbstractAutowireCapableBeanFactory。invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。豆。工厂支持AbstractAutowireCapableBeanFactory。initializeBean(AbstractAutowireCapableBeanFactory.java:1792)~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE] ... 省略22个公共帧 原因:org。冬眠例外GenericJDBCException:无法打开JDBC连接以执行DDL 在org。冬眠例外内部的标准SQLExceptionConverter。convert(StandardSQLExceptionConverter.java:47)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠发动机jdbc。spi。SqlExceptionHelper。convert(SqlExceptionHelper.java:113)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠发动机jdbc。spi。SqlExceptionHelper。convert(SqlExceptionHelper.java:99)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠资源交易后端。jdbc。内部的DDL TransactionIsolatorNonjtaimpl。getIsolatedConnection(ddltransactionolatornonjtaimpl.java:69)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠工具模式。内部的执行官。改进提取。getJdbcConnection(ImprovedExtractionContextImpl.java:60)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠工具模式。内部的执行官。改进提取。getJdbcDatabaseMetaData(ImprovedExtractionContextImpl.java:67)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠工具模式。摘录内部的InformationExtractorJdbcDatabaseMetaDataImpl。getTables(InformationExtractorJdbcDatabaseMetaDataImpl.java:333)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠工具模式。摘录内部的数据库信息impl。getTablesInformation(DatabaseInformationImpl.java:120)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠工具模式。内部的GroupedSchemaMigratorImpl。performTablesMigration(GroupedSchemaMigratorImpl.java:65)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠工具模式。内部的抽象模式管理器。性能迁移(AbstractSchemaMigrator.java:207)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠工具模式。内部的抽象模式管理器。doMigration(AbstractSchemaMigrator.java:114)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠工具模式。spi。SchemaManagementToolCoordinator。performDatabaseAction(SchemaManagementToolCoordinator.java:184)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠工具模式。spi。SchemaManagementToolCoordinator。进程(SchemaManagementToolCoordinator.java:73)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠内部的SessionFactoryImpl。(SessionFactoryImpl.java:314)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠靴子内部的SessionFactoryBuilderImpl。build(SessionFactoryBuilderImpl.java:468)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠jpa。靴子内部的实体管理器actoryBuilderImpl。build(EntityManagerFactoryBuilderImpl.java:1237)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。springframework。奥姆。jpa。小贩SpringHibernateJSistenceProvider。createContainerEntityManagerFactory(SpringHibernatePaperResistenceProvider.java:58)~[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。奥姆。jpa。LocalContainerEntityManagerFactoryBean。createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)~[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE] 在org。springframework。奥姆。jpa。AbstractEntityManagerFactoryBean。buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:391)~[spring-orm-5.2.4.RELEASE.jar:5.2.4.RELEASE] ... 省略26个公共框架 原因:java。sql。SQLException:拒绝用户'thalysmg'@'localhost'的访问。 在com。mysql。希杰。jdbc。例外情况。SQLError。createSQLException(SQLError.java:129)~[mysql-connector-java-8.0.19.jar:8.0.19] 在com。mysql。希杰。jdbc。例外情况。SQLError。createSQLException(SQLError.java:97)~[mysql-connector-java-8.0.19.jar:8.0.19] 在com。mysql。希杰。jdbc。例外情况。SQLExceptionsMapping。translateException(sqlexceptionMapping.java:122)~[mysql-connector-java-8.0.19.jar:8.0.19] 在com。mysql。希杰。jdbc。连接mpl。createNewIO(ConnectionImpl.java:836)~[mysql-connector-java-8.0.19.jar:8.0.19] 在com。mysql。希杰。jdbc。连接mpl。(ConnectionImpl.java:456)~[mysql-connector-java-8.0.19.jar:8.0.19] 在com。mysql。希杰。jdbc。连接mpl。getInstance(ConnectionImpl.java:246)~[mysql-connector-java-8.0.19.jar:8.0.19] 在com。mysql。希杰。jdbc。未注册的驱动程序。connect(NonRegisteringDriver.java:197)~[mysql-connector-java-8.0.19.jar:8.0.19] 在com。扎克塞尔。希卡里。util。驱动数据源。getConnection(DriverDataSource.java:138)~[HikariCP-3.4.2.jar:na] 在com。扎克塞尔。希卡里。水塘普尔贝斯。newConnection(PoolBase.java:354)~[HikariCP-3.4.2.jar:na] 在com。扎克塞尔。希卡里。水塘普尔贝斯。newPoolEntry(PoolBase.java:202)~[HikariCP-3.4.2.jar:na] 在com。扎克塞尔。希卡里。水塘希卡里波尔。createPoolEntry(hikaripol.java:473)~[HikariCP-3.4.2.jar:na] 在com。扎克塞尔。希卡里。水塘希卡里波尔。checkFailFast(hikaripol.java:554)~[HikariCP-3.4.2.jar:na] 在com。扎克塞尔。希卡里。水塘希卡里波尔。(HikariPool.java:115)~[HikariCP-3.4.2.jar:na] 在com。扎克塞尔。希卡里。HikariDataSource。getConnection(HikariDataSource.java:112)~[HikariCP-3.4.2.jar:na] 在org。冬眠发动机jdbc。连接。内部的数据源连接提供程序。getConnection(DatasourceConnectionProviderImpl.java:122)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠发动机jdbc。环境。内部的JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess。获取连接(JdbcEnvironmentInitiator.java:180)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 在org。冬眠资源交易后端。jdbc。内部的DDL TransactionIsolatorNonjtaimpl。getIsolatedConnection(ddltransactionolatornonjtaimpl.java:43)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final]

我的pom。xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.0.M3</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>Demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Demo</name>
<description>Demo project for Spring Boot</description>

<properties>
    <java.version>14</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-data-rest</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
    </dependency>

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.hsqldb</groupId>
        <artifactId>hsqldb</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>

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
    </pluginRepository>
</pluginRepositories>

这是我的申请表。属性文件:

**spring.datasource.url** = jdbc:mysql://localhost:3306/springbootdb?useSSL=false
**spring.datasource.username** = thalysmg
**spring.datasource.password** =
## Hibernate Properties
**spring.jpa.properties.hibernate.dialect** = org.hibernate.dialect.MySQL5InnoDBDialect
**spring.jpa.hibernate.ddl-auto = update**

如果我没有错的话,我将MySQL用户配置为与ubuntu中的系统用户相同,这样我就可以用“MySQL-u thalysmg”启动MySQL控制台,而无需输入密码。我已经尝试过用“root”代替“thalysmg”,并尝试过使用和不使用我的密码。我到处都在寻找解决办法,但没有成功。希望有人能帮助我


共 (1) 个答案

  1. # 1 楼答案

    为什么在应用程序中使用星号。房产?删除它们

    spring.datasource.url=jdbc:mysql://localhost:3306/springbootdb?useSSL=false
    spring.datasource.username=thalysmg
    spring.datasource.password=
    ## Hibernate Properties
    spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
    spring.jpa.hibernate.ddl-auto=update