Jestem nowy w JDBC i próbuję nawiązać połączenie z bazą danych MySQL. Używam sterownika Connector / J, ale nie mogę znaleźć parametrów połączenia JDBC dla mojej Class.forName()
metody.
mysql
jdbc
connection-string
BalusC
źródło
źródło
Class.forName()
nie oczekuje ciągu połączenia JDBC, ale nazwę klasy sterownika JDBC.Odpowiedzi:
Zakładając, że Twój kierowca jest na ścieżce,
źródło
Oto dokumentacja:
https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html
Podstawowe parametry połączenia wyglądają następująco:
Ciąg class.forName to „com.mysql.jdbc.Driver”, który można znaleźć (edycja: teraz na tej samej stronie).
źródło
useOldAliasMetadataBehavior=true
,useUnicode=true
,characterEncoding=UTF-8
Z dokumentów Oracle ...
host: port to nazwa hosta i numer portu komputera obsługującego bazę danych. Jeśli nie zostanie określony, domyślne wartości hosta i portu to odpowiednio 127.0.0.1 i 3306.
baza danych to nazwa bazy danych, z którą chcesz się połączyć. Jeśli nie zostanie określony, nawiązywane jest połączenie bez domyślnej bazy danych.
przełączanie awaryjne to nazwa rezerwowej bazy danych (MySQL Connector / J obsługuje przełączanie awaryjne).
propertyName = propertyValue reprezentuje opcjonalną listę właściwości oddzielonych znakami ampersand. Te atrybuty umożliwiają polecenie MySQL Connector / J wykonywania różnych zadań.
źródło
useOldAliasMetadataBehavior=true
,useUnicode=true
,characterEncoding=UTF-8
jdbc:mysql://[host][:port]/[database]?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=UTF-8
To bardzo proste :
jdbc:mysql://<hostname>:<port>/<dbname>?prop1
itd., gdzie<hostname>
i<port>
są podane w zakładce połączenia. Będzie to głównie localhost: 3306.<dbname>
będzie można znaleźć w zakładce Profil systemu w Nazwa usługi Windows. Domyślnie będzie to głównie MySQL5,<x>
gdzie x to numer wersji, np. 56 dla MySQL5.6 i 55 dla MySQL5.5 itd. Możesz również określić własną nazwę usługi Windows, aby się połączyć.źródło
W przypadku MySQL ciąg połączenia sterownika jdbc to com.mysql.jdbc.Driver . Użyj poniższego kodu, aby się połączyć: -
źródło
aktualizacja dla mySQL 8:
String jdbcUrl="jdbc:mysql://localhost:3306/youdatabase?useSSL=false&serverTimezone=UTC";
źródło
Ponieważ wydaje się, że odpowiedź została już udzielona, nie ma wiele do dodania, ale chciałbym dodać jedną rzecz do istniejących odpowiedzi. To był sposób wczytywania klasy dla sterownika JDBC dla mysql
Ale to jest teraz przestarzałe. Nowa klasa kierowcy jest teraz
Również kierowca jest automatycznie rejestrowany przez SPI, a ręczne ładowanie klasy kierowcy jest generalnie niepotrzebne.
źródło
3306
to domyślny port dla mysql.Jeśli używasz Java 7, nie ma potrzeby nawet dodawać
Class.forName("com.mysql.jdbc.Driver").newInstance ();
instrukcji. Automatyczne zarządzanie zasobami (ARM) zostało dodane w JDBC 4.1, które jest domyślnie dostępne w Javie 7.Ogólny format adresu URL JDBC do łączenia się z serwerem MySQL jest następujący, przy czym elementy w nawiasach kwadratowych ([]) są opcjonalne:
źródło
protokół // [hosty] [/ baza danych] [? właściwości]
Jeśli nie masz żadnych właściwości, zignoruj to, wtedy będzie jak
jdbc: mysql: //127.0.0.1: 3306 / test
jdbc: mysql to protokół 127.0.0.1: to host, a 3306 to numer portu, test to baza danych
źródło
zależy to od usługi, z której korzystasz.
jeśli używasz MySQL Workbench, będzie to coś takiego:
jdbc: mysql: // "host": "numer portu" /
I oczywiście będzie inaczej, jeśli używasz SSL / SSH.
Aby uzyskać więcej informacji, kliknij oficjalny link Jetbriens (idea intelliJ):
Łączenie się z bazą danych #
https://www.jetbrains.com/help/idea/connecting-to-a-database.html
Konfigurowanie połączeń z bazą danych #
https://www.jetbrains.com/help/idea/configuring-database-connections.html
źródło