Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Welchen MySQL-Treiber verwende ich mit Spring/Hibernate?

Nein sind sie nicht. Der driverclassname bezieht sich auf den Namen der Treiberklasse Dies ist die Klasse eines bestimmten JDBC-Treibers, der java.sql.Driver implementiert . Der Name der Treiberklasse ist treiberspezifisch.

Bei Verwendung des JDBC-Treibers von MySQL, auch bekannt als MySQL Connector/J, ist diese Klasse com.mysql.jdbc.Driver wie in der MySQL Connector/J-Dokumentation erklärt:

Und tatsächlich bieten sie sogar Anweisungen zur Verwendung ihres Treibers mit Spring . Siehe Abschnitt 20.3.5.2.4. Connector/J mit Feder verwenden .

Der hibernate.dialect anders ist, wird diese Konfigurationseigenschaft verwendet, um den Klassennamen eines Hibernate-org.hibernate.dialect.Dialect zu definieren was es Hibernate ermöglicht, SQL zu generieren, das für eine bestimmte relationale Datenbank optimiert ist . Auch dies wird in der Hibernate-Dokumentation erklärt:

Für MySQL 5.x sollten Sie org.hibernate.dialect.MySQL5InnoDBDialect verwenden wenn Sie InnoDB-Tabellen verwenden (dies wäre meine Empfehlung) oder org.hibernate.dialect.MySQL5Dialect Wenn du nicht bist. Siehe Abschnitt 3.4.1. SQL-Dialekte für eine (nicht erschöpfende) Liste.

Letzter Punkt, der Maven-Teil, den Sie in Ihrer Frage nicht einmal erwähnt haben ... Der MySQL-JDBC-Treiber ist im zentralen Maven-Repository verfügbar und Sie sollten einen Repository-Suchmaschine (als Ich habe es bereits vorgeschlagen ). Beispielsweise die folgende Abfrage:

http://www.jarvana.com/jarvana/search?search_type=project&project =mysql

ermöglicht es, die Maven-Koordinaten der ultimativen Version mit zwei Klicks zu finden:

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

PS:Ich möchte nicht unhöflich sein und helfe gerne, aber Sie sollten wirklich versuchen, die Dokumentation der von Ihnen verwendeten Produkte oder Frameworks zu nutzen. Was Sie in dieser Frage fragen, ist gut dokumentiert (wie ich gezeigt habe) und kann leicht gefunden werden. Grundlegende Informationen selbst finden zu lernen, ist meiner Meinung nach eine grundlegende Fähigkeit für einen Softwareentwickler.