본문 바로가기
MySql

MySQL 정확히 무엇을하는지 Class.forName ( "com.mysql.jdbc.Driver"). newInstance ();

by 베이스 공부 2021. 1. 11.
반응형

MySQL 데이터베이스에 연결하는 동안 다음 단계를 수행합니다.

Connection con = null;
Resultset rs = null;
Statement st = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database","root","passwp");

사실 나는 Class.forName ( "com.mysql.jdbc.Driver"). newInstance (); 문이 무엇을하는지 알고 싶었습니다.

이 클래스는 mysql.jar에 없습니다. 어디에 있습니까?

 

해결 방법

 

Class 클래스는 java.lang 패키지에 있으므로 java와 함께 배포되며 모든 클래스로 자동으로 가져옵니다.

forName () 메소드가하는 일은 클래스 로더에 의해로드 된 매개 변수에 대한 Class 객체를 반환하는 것입니다. 그런 다음 newInstance () 메서드는 클래스의 새 인스턴스를 반환합니다.

그럼 무슨 일이 벌어지는 지 Class.forName(...) it returns com.mysql.jdbc.Driver.class. 그런 다음 매개 변수없이 클래스의 인스턴스를 반환하는 해당 클래스에서 newInstance () 를 호출하므로 기본적으로 new com.mysql.jdbc.Driver (); 를 호출합니다. .

 

참조 페이지 https://stackoverflow.com/questions/15039265

 

 

반응형

댓글