2016-08-15 1 views
0

Ich versuche Jersey mit Hibernate und Dropwizard zum ersten Mal zu verwenden, und ich bekomme diese Ausnahme beim Versuch, einen Jersey-Server auf dem lokalen Rechner ausgeführt wird:Unbekannte Datenbank Ausnahme mit Hibernate und Jersey

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

Das ist mein 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> 

Jersey config.yml enthält diesen Teil:

# 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 

Die Datenbank selbst jetzt ist eine Datei namens mydb.mwb und ich bin nicht einmal sicher, wo es für die Verbindung zum Erfolg liegen soll. Ich benutze Xampp für MySql.

Was muss ich tun, damit die Datenbankdatei erkannt wird? Soll ich es einfach in den Stammordner des Eclipse-Projekts legen?

+0

Sie verwenden eine myslq-Datenbank. Gibt es das Schema "mydb"? Z.B. Stellen Sie eine Verbindung zur Datenbank auf Ihrem Terminal her und führen Sie "show databases" (Datenbanken anzeigen) aus, um zu sehen, ob sie existiert. Es klingt, als hättest du diese Datenbank nie erstellt. – pandaadb

+0

Ich habe nicht .. Als ich nach der Datenbank gefragt habe, habe ich einfach die Datei bekommen und mir wurde gesagt, dass die Datei die Datenbank ist ... was muss ich damit machen? –

+0

Sie müssen Ihre Datenbank korrekt einrichten. Es gibt jede Menge MySQL Tutorials. Ihr Problem ist kein Trikot/DW- oder Hibernate-Problem, sondern ein einfaches Problem mit der Datenbankeinrichtung. Sobald Ihre Datenbank eingerichtet und erreichbar ist, sollten Sie in der Lage sein, eine Verbindung zu ihr herzustellen – pandaadb

Antwort

0

In Ihrem Fall ist das Schema von mydb in Ihrer MySQL-Datenbank nicht verfügbar. Dazu müssen Sie die mydb.mwb in Ihrem MySQL importieren. Hier

ist ein Tutorial: How to import the mwb file in mysql

Nach meinedb Schema erstellt, hoffentlich können Sie Ihr Projekt erfolgreich ausgeführt werden.

Verwandte Themen