programing

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

nicescript 2023. 1. 13. 20:08
반응형

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

JDBC는 MySQL을 사용합니다.Connector 드라이버를 Connector/J의 연결 수 .Class.forName()★★★★★★ 。

운전기사가 이동 중이라 가정하면

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

매뉴얼은 다음과 같습니다.

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

기본 연결 문자열은 다음과 같습니다.

jdbc:mysql://localhost:3306/dbname

학급.forName 문자열은 "com.mysql.jdbc"입니다.「드라이버」를 참조할 수 있습니다(편집: 이제 같은 페이지에 표시됩니다).

"jdbc:mysql://localhost"

오라클 문서에서...

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

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

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

failover는 스탠바이 데이터베이스의 이름입니다(MySQL Connector/J는 페일오버를 지원합니다).

propertyName=value는 옵션의 앰퍼샌드로 구분된 속성 목록을 나타냅니다.이러한 속성을 통해 MySQL Connector/J에 다양한 작업을 수행하도록 지시할 수 있습니다.

이것은 매우 간단합니다.

  1. MySQL 워크벤치로 이동하여 [Database]> [ Manage Connections ]를 참조합니다.
  2. 접속 리스트가 표시됩니다.연결할 연결을 클릭합니다.
  3. 접속, 리모트 관리, 시스템 프로파일 주위에 탭이 표시됩니다.연결 탭을 클릭합니다.
  4. 은 "URL"입니다.jdbc:mysql://<hostname>:<port>/<dbname>?prop1<hostname> ★★★★★★★★★★★★★★★★★」<port>는 연결 탭에 표시됩니다.로컬 호스트: 3306. <dbname>「Windows 서비스명」시스템 프로파일」입니다. MySQL5 입니다.<x>MySQL5.6, MySQL5.6, MySQL5.5, 55, MySQL5.5, MySQL5.6, MySQL5.6, MySQL5.6, MySQL5.5.연결할 자체 윈도우즈 서비스 이름을 지정할 수도 있습니다.
  5. 이에 따라 URL을 구성하고 연결할 URL을 설정합니다.

Mysql의 경우 jdbc 드라이버 연결 문자열은 com.mysql.jdbc입니다.드라이버. 다음 코드를 사용하여 연결합니다.

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);
   }
}

이미 답변이 끝난 것 같기 때문에 덧붙일 것은 별로 없지만, 기존의 답변에 한 가지를 덧붙이고 싶습니다.이것이 mysql에 대한 JDBC 드라이버의 클래스를 로드하는 방법입니다.

com.mysql.jdbc.Driver

하지만 이것은 지금 폐지되었다.새로운 드라이버 클래스는 현재

com.mysql.cj.jdbc.Driver

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

mySQL 8 업데이트:

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

mySQL 8 업데이트:

문자열 jdbcUrl="jdbc:mysql://localhost:3306/youdatabase?useSSL=false&serverTimezone=DISS";

다음 코드 스니펫을 사용하여 Jdbc 설정 및 URL이 올바른지 여부를 확인합니다.

import java.sql.Connection;
import java.sql.DriverManager;

public class TestJdbc {

    public static void main(String[] args) {

        //db name:testdb_version001
        //useSSL=false (get rid of MySQL SSL warnings)

        String jdbcUrl = "jdbc:mysql://localhost:3306/testdb_version001?useSSL=false";
        String username="testdb";
        String password ="testdb";

        try{

            System.out.println("Connecting to database :" +jdbcUrl);
            Connection myConn =
                    DriverManager.getConnection(jdbcUrl,username,password);

            System.out.println("Connection Successful...!");


        }catch (Exception e){
            e.printStackTrace();
            //e.printStackTrace();
        }

    }


}

방법Class.forName()는, JDBC 드라이버를 등록하기 위해서 사용됩니다.연결 문자열은 데이터베이스에 대한 연결을 가져오는 데 사용됩니다.

데이터베이스로의 접속을 취득하는 방법은 다음과 같습니다.데이터베이스에 대한 연결을 여러 개 만들지 않는 것이 이상적이므로 연결을 한 개로 제한하고 동일한 연결을 다시 사용합니다.따라서 데이터베이스에 대한 연결을 처리할 때는 여기서 싱글톤 패턴을 사용하십시오.

다음 그림은 접속 취득을 수반하는 접속 문자열을 나타내고 있습니다.

public class Database {
   
    private String URL = "jdbc:mysql://localhost:3306/your_db_name"; //database url
    private String username = ""; //database username
    private String password = ""; //database password
    private static Database theDatabase = new Database(); 
    private Connection theConnection;
    
    private Database(){
        try{
              Class.forName("com.mysql.jdbc.Driver"); //setting classname of JDBC Driver
              this.theConnection = DriverManager.getConnection(URL, username, password);
        } catch(Exception ex){
            System.out.println("Error Connecting to Database: "+ex);
        }
    }

    public static Database getDatabaseInstance(){
        return theDatabase;
    }
    
    public Connection getTheConnectionObject(){
        return theConnection;
    }
}

여기 제 쪽에서 작은 코드가 있습니다:)

필요한 드라이버:

com.mysql.jdbc.Driver

다운로드: 여기 (플랫폼에 의존하지 않음)

연결 문자열이 한 줄로 표시됩니다.

jdbc:mysql://localhost:3306/db-name?user=user_name&password=db_password&useSSL=false

코드 예:

public static void testDB(){
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

    try {
        Connection connection = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/db-name?user=user_name&password=db_password&useSSL=false");
        if (connection != null) {
            Statement statement = connection.createStatement();
            if (statement != null) {
                ResultSet resultSet = statement.executeQuery("select * from test");
                if (resultSet != null) {
                    ResultSetMetaData meta = resultSet.getMetaData();
                    int length = meta.getColumnCount();
                    while(resultSet.next())
                    {
                        for(int i = 1; i <= length; i++){
                            System.out.println(meta.getColumnName(i) + ": " + resultSet.getString(meta.getColumnName(i)));
                        }
                    }
                    resultSet.close();
                }
                statement.close();
            }
            connection.close();
        }
    } catch (Throwable throwable) {
        throwable.printStackTrace();
    }
}
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 ();진술.Automatic Resource Management(ARM; 자동 자원 관리)는 Java 7에서 기본적으로 제공되는 JDBC 4.1에 추가되었습니다.

MySQL 서버에 접속하기 위한 JDBC URL의 일반적인 형식은 다음과 같습니다.각괄호([ ]) 내의 항목은 옵션입니다.

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

protocol//[properties][/properties][?properties]

속성을 가지고 있지 않은 경우 무시하면 다음과 같습니다.

jdbc:test://test.0.0.1:3306/test

jdbc:syslog는 프로토콜 127.0.0.1:는 호스트, 3306은 포트 번호 테스트가 데이터베이스입니다.

어떤 서비스를 이용하느냐에 따라 다릅니다.

MySQL Workbench를 사용하면 다음과 같습니다.

jdbc:syslog://"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

Driver Connector jar가 SQL 버전과 일치하는지 확인합니다.

또, 이 에러를 사용하고 있을 때와 같은 에러가 발생하고 있습니다.

mySQL-connector-java-5.1.30.jar

MySql 8 사용

언급URL : https://stackoverflow.com/questions/1457716/what-is-the-mysql-jdbc-driver-connection-string

반응형