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?
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
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? –
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