gpt4 book ai didi

java - Hibernate + Dropwizard,MySQLSyntaxErrorException : Unknown database 'test_db;'

转载 作者:行者123 更新时间:2023-12-02 03:03:16 24 4
gpt4 key购买 nike

我有一个简单的 dropwizard 应用程序,我编写了以下 yml 进行配置。

template: Hello, %s!
defaultName: Stranger
database:
driverClass: com.mysql.jdbc.Driver
user: rootUser
password: rootPassword
url: jdbc:mysql://<SQL SERVER IP>:<SQL SERVER IP>/test_db;
properties:
charSet: UTF-8
hibernate.dialect: org.hibernate.dialect.MySQLDialect

这是我将其添加到应用程序的“run”方法中的方法:

    // Setting up the database.
final DBIFactory factory = new DBIFactory();
final DBI jdbi = factory.build(environment, configuration.getDataSourceFactory(), "mysql");

//Hibernate
final UserDAO dao = new UserDAO(hibernate.getSessionFactory());
environment.jersey().register(new UserResource(dao));

此外,在同一个类中,我有以下方法,它使 hibernate 包发挥作用:

private final HibernateBundle<ServerConfiguration> hibernate = new HibernateBundle<ServerConfiguration>(User.class) {
@Override
public DataSourceFactory getDataSourceFactory(ServerConfiguration configuration) {
return configuration.getDataSourceFactory();
}
};

现在,这一切都已构建,但是当我尝试运行 jar 并同时使用 yml 文件时...我收到以下错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'test_db;'

我知道数据库就在那里,在那个位置,因为我可以使用 dBeaver 将记录添加到 tbl_users 表中。

有什么想法吗?

最佳答案

从您的database.url属性中删除尾随的;,它将起作用。尾随 ; 作为数据库名称的一部分包含在内,这导致了失败。

关于java - Hibernate + Dropwizard,MySQLSyntaxErrorException : Unknown database 'test_db;' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42147226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com