使用 Hibernate 和 Jersey 的未知数据库异常

Unknown database exception using Hibernate and Jersey

我第一次尝试将 Jersey 与 Hibernate 和 Dropwizard 一起使用,当我尝试 运行 本地计算机上的 Jersey 服务器时遇到此异常:

Exception in thread "main" MultiException[com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'mydb'

这是我的 hibernate.cfg.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
   <session-factory>
        <property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property>
        <property name="hibernate.connection.driver_class"> com.mysql.jdbc.Driver </property>
        <!-- Assume test is the database name -->
        <property name="hibernate.connection.url"> jdbc:mysql://localhost/mydb </property>
        <property name="hibernate.connection.username"> root </property>
        <property name="hibernate.connection.password"> </property>
        <!-- List of XML mapping files -->
        <mapping class="annotations.Person"></mapping>       
    </session-factory>
</hibernate-configuration>

球衣 config.yml 包含此部分:

# Database settings.
database:
    # the name of the JDBC driver, mysql in our case
    driverClass: com.mysql.jdbc.Driver
    # the username
    user: root
    # the password
    password: 
    # the JDBC URL; the database is called DWGettingStarted
    url: jdbc:mysql://localhost:3306/mydb
    # any properties specific to your JDBC driver:
    properties:
      charSet: UTF-8
      hibernate.dialect: org.hibernate.dialect.MySQLDialect

      # the maximum amount of time to wait on an empty pool before throwing an exception
      maxWaitForConnection: 1s

      # the SQL query to run when validating a connection's liveness
      validationQuery: "/* MyApplication Health Check */ SELECT 1"

      # the minimum number of connections to keep open
      minSize: 8

      # the maximum number of connections to keep open
      maxSize: 32

      # whether or not idle connections should be validated
      checkConnectionWhileIdle: false

数据库本身现在是一个名为 mydb.mwb 的文件,我什至不确定它应该位于何处才能使连接成功。我将 Xampp 用于 MySql。

要识别数据库文件,我需要做什么?我应该把它放在 Eclipse 项目的根文件夹中吗?

在您的情况下,mydb 架构在您的 mysql 数据库中不可用。为了这, 您需要在 mysql.

中导入 mydb.mwb

这里有教程:How to import the mwb file in mysql

创建 mydb 架构后,希望您可以 运行 您的项目成功。