2009-09-22 2 views
94

Я новичок в JDBC, и я пытаюсь установить соединение с базой данных MySQL. Я использую драйвер Connector/J, но я не могу найти строку подключения JDBC для моего метода Class.forName().Что такое строка подключения драйвера JDBC MySQL?

+4

Для начала 'Class.forName()' не ожидает строки соединения JDBC, а имя класса драйвера JDBC. – BalusC

ответ

97

Предполагая, что ваш водитель находится в пути,

String url = "jdbc:mysql://localhost/test"; 
Class.forName ("com.mysql.jdbc.Driver").newInstance(); 
Connection conn = DriverManager.getConnection (url, "username", "password"); 
+1

Как вы находите путь jdbc, если это не переменные среды? –

+1

В образце кода URL-адрес JDBC был жестко запрограммирован, а не был выполнен поиск в любой переменной окружения. –

56

Вы читали документацию?

https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html

Основная строка подключения выглядит следующим образом:

jdbc:mysql://localhost:3306/dbname 

Строка Class.forName является "com.mysql.jdbc.Driver", которые вы можете найти (изменить: теперь то же самое страница).

+0

. Ссылки выше не работают. Вот новая рабочая ссылка: https://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html – hexicle

+0

Исправлено, спасибо за хед-ап. –

+0

Если у меня есть три свойства для использования в строке соединения, как бы выглядела строка подключения, например: 'useOldAliasMetadataBehavior = true',' useUnicode = true', 'characterEncoding = UTF-8' –

12
"jdbc:mysql://localhost" 

от оракула документы ..

jdbc:mysql://[host][,failoverhost...] 
[:port]/[database] 
[?propertyName1][=propertyValue1] 
[&propertyName2][=propertyValue2] 

хост: порт это имя хоста и номер порта компьютера хостинг базы данных. Если не указано, значения по умолчанию для хоста и порта равны 127.0.0.1 и 3306 соответственно.

база данных - это название базы данных для подключения к. Если не указано, соединение выполняется без базы данных по умолчанию.

failover - это название резервной базы данных (MySQL Connector/J поддерживает переход на другой ресурс).

propertyName = propertyValue представляет собой необязательный список свойств, разделенных амперсандами. Эти атрибуты позволяют вам указать MySQL Connector/J для выполнения различных задач.

+0

Если у меня есть три свойства для использования в строке соединения, как бы выглядела строка подключения: например, useOldAliasMetadataBehavior = true, 'useUnicode = true',' characterEncoding = UTF-8' –

+0

@B Pavan Kumar Это URI, поэтому свойства должны быть разделены амперсандами («&»), как указано в спецификации, которую я цитировал. –

+1

@ N00bPr0grammer 'jdbc: mysql: // [host] [: port]/[database]? UseOldAliasMetadataBehavior = true & useUnicode = true & characterEncoding = UTF-8' –

2

Это очень просто:

  1. Перейти к MySQL верстаку и поиску для базы данных> Управление подключений
  2. вы увидите список соединений. Нажмите на соединение, к которому вы хотите подключиться.
  3. Вы увидите вкладки о соединении, удаленном управлении, системном профиле. Перейдите на вкладку подключения.
  4. ваш URL является jdbc:mysql://<hostname>:<port>/<dbname>?prop1 и т.д. где <hostname> и <port> приведены в связи tab.It основном будут LOCALHOST: 3306. <dbname> будет найти в разделе System вкладке Профиль в ОС Windows Имя службы. По умолчанию в основном будет MySQL5 <x>, где x - номер версии, например. 56 для MySQL5.6 и 55 для MySQL5.5 и т. Д. Вы также можете указать собственное имя службы Windows для подключения.
  5. Постройте URL-адрес соответствующим образом и установите URL-адрес для подключения.
0
String url = "jdbc:mysql://localhost:3306/dbname"; 
String user = "user"; 
String pass = "pass"; 
Class.forName ("com.mysql.jdbc.Driver").newInstance(); 
Connection conn = DriverManager.getConnection (url, user, pass); 

3306 является портом по умолчанию для MySQL.

Если вы используете Java 7, нет необходимости даже добавлять инструкцию Class.forName("com.mysql.jdbc.Driver").newInstance();.Автоматическое управление ресурсами (ARM) добавляется в JDBC 4.1, который по умолчанию используется в Java 7.

Общий формат URL-адреса JDBC для подключения к серверу MySQL следующий: элементы в квадратных скобках ([]) являются Необязательно:

jdbc:mysql://[host1][:port1][,[host2][:port2]]...[/[database]] » 
[?propertyName1=propertyValue1[&propertyName2=propertyValue2]...] 
Смежные вопросы