MySQL JDBC 드라이버 연결 문자열은 무엇입니까?


117

저는 JDBC를 처음 사용하고 MySQL 데이터베이스에 연결하려고합니다. Connector / J 드라이버를 사용하고 있지만 Class.forName()방법에 대한 JDBC 연결 문자열을 찾을 수 없습니다 .


4
시작하려면 Class.forName()JDBC 연결 문자열이 아니라 JDBC 드라이버 클래스 이름이 필요합니다.
BalusC

답변:


114

운전자가 경로에 있다고 가정하면

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

1
환경 변수에없는 경우 jdbc 경로를 어떻게 찾습니까?
Roy Hinkley

1
는 JDBC URL이 하드 코딩 된 샘플 코드에서되지 않은 환경 변수에서 검색
제이미 Hablutzel에게

67

다음은 문서입니다.

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"이며, 찾을 수 있습니다 (편집 : 이제 같은 페이지에 있음).


위의 링크는 작동하지 않습니다. 여기에 새로운 작업 링크는 다음과 같습니다 dev.mysql.com/doc/connector-j/en/...
hexicle은

1
나는 연결 문자열에 사용할 수있는 세 가지 속성이있는 경우, 어떻게 것 같은 연결 문자열 봐 - 예 : useOldAliasMetadataBehavior=true, useUnicode=true,characterEncoding=UTF-8
N00b Pr0grammer

17
"jdbc:mysql://localhost"

오라클 문서에서 ..

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

host : port 는 데이터베이스를 호스팅하는 컴퓨터의 호스트 이름과 포트 번호입니다. 지정되지 않은 경우 host 및 port의 기본값은 각각 127.0.0.1 및 3306입니다.

database 는 연결할 데이터베이스의 이름입니다. 지정하지 않으면 기본 데이터베이스없이 연결됩니다.

failover 는 대기 데이터베이스의 이름입니다 (MySQL Connector / J는 장애 조치를 지원합니다).

propertyName = propertyValue 는 앰퍼샌드로 구분 된 선택적 속성 목록을 나타냅니다. 이러한 속성을 사용하면 MySQL Connector / J가 다양한 작업을 수행하도록 지시 할 수 있습니다.


나는 연결 문자열에 사용할 수있는 세 가지 속성이있는 경우, 어떻게 것 같은 연결 문자열 봐 - 예 : useOldAliasMetadataBehavior=true, useUnicode=true, characterEncoding=UTF-8
N00b Pr0grammer

@B Pavan Kumar 이것은 URI이므로 내가 인용 한 사양에 표시된대로 속성을 앰퍼샌드 ( "&")로 구분해야합니다.
Tim Sylvester

1
@ N00bPr0grammerjdbc:mysql://[host][:port]/[database]?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=UTF-8
SSC-hrep3

5

매우 간단합니다.

  1. MySQL 워크 벤치로 이동하여 데이터베이스> 연결 관리를 검색하십시오.
  2. 연결 목록이 표시됩니다. 연결하려는 연결을 클릭하십시오.
  3. 연결, 원격 관리, 시스템 프로필에 대한 탭이 표시됩니다. 연결 탭을 클릭하십시오.
  4. 당신의 URL은 jdbc:mysql://<hostname>:<port>/<dbname>?prop1등의 경우 <hostname><port>대부분 로컬 호스트됩니다 연결 tab.It에 제시되어있다 : 3306은 <dbname>Windows 서비스 이름의 시스템 프로필 탭에서 찾을 수 있습니다. 기본값은 대부분 MySQL5 <x>이며 여기서 x는 버전 번호입니다. MySQL5.6의 경우 56, MySQL5.5의 경우 55 등 연결할 자신의 Windows 서비스 이름을 지정할 수도 있습니다.
  5. 그에 따라 URL을 구성하고 연결할 URL을 설정하십시오.

5

Mysql의 경우 jdbc 드라이버 연결 문자열은 com.mysql.jdbc.Driver 입니다. 연결하려면 다음 코드를 사용하십시오.

class DBConnection {
   private static Connection con = null;
   private static String USERNAME = "your_mysql_username";
   private static String PASSWORD = "your_mysql_password";
   private static String DRIVER = "com.mysql.jdbc.Driver";
   private static String URL = "jdbc:mysql://localhost:3306/database_name";

   public static Connection getDatabaseConnection(){
       Class.forName(DRIVER);
       return con = DriverManager.getConnection(URL,USERNAME,PASSWORD);
   }
}

3

mySQL 8 업데이트 :

String jdbcUrl="jdbc:mysql://localhost:3306/youdatabase?useSSL=false&serverTimezone=UTC";


2

답변이 이미 답변 된 것 같아 추가 할 것이 많지 않지만 기존 답변에 한 가지 추가하고 싶습니다. 이것은 mysql 용 JDBC 드라이버의 클래스를로드하는 방법이었습니다.

com.mysql.jdbc.Driver

그러나 이것은 이제 더 이상 사용되지 않습니다. 새로운 드라이버 클래스는 이제

com.mysql.cj.jdbc.Driver

또한 드라이버는 SPI를 통해 자동으로 등록되며 일반적으로 드라이버 클래스를 수동으로로드 할 필요가 없습니다.


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)는 Java 7에서 기본적으로 제공되는 JDBC 4.1에 추가됩니다.

MySQL 서버에 연결하기위한 JDBC URL의 일반적인 형식은 다음과 같으며 대괄호 ([]) 안의 항목은 선택 사항입니다.

jdbc:mysql://[host1][:port1][,[host2][:port2]]...[/[database]] »
[?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]

0

프로토콜 // [호스트] [/ 데이터베이스] [? 속성]

속성이 없으면 무시하면 다음과 같습니다.

jdbc : mysql : //127.0.0.1 : 3306 / test

jdbc : mysql은 프로토콜 127.0.0.1 : 호스트이고 3306은 포트 번호 테스트입니다.


0

사용중인 서비스에 따라 다릅니다.

MySQL Workbench를 사용한다면 다음과 같이 될 것입니다.

jdbc : mysql : // "host": "포트 번호"/

String url = "jdbc:mysql://localhost:3306/";

물론 SSL / SSH를 사용하는 경우에는 다릅니다.

자세한 내용은 Jetbriens의 공식 링크 (intelliJ 아이디어)를 참조하세요.

데이터베이스에 연결 #

https://www.jetbrains.com/help/idea/connecting-to-a-database.html


데이터베이스 연결 구성 #

https://www.jetbrains.com/help/idea/configuring-database-connections.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.