
JDBC Driver? 같은 코드여도 다른 데이터베이스에 대해 작동할 수 있는 이유는 각 DBMS를 위한 JDBC Driver가 준비되어 있어 같은 코드였던 것들이 각각의 DBMS에 맞는 프로토콜로 변환되어 실행될 수 있기 때문이다.
Class.forName("driver")을 이용하여 Driver Class를 로딩하면 객체가 생성되고, DriverManager에 등록된다.
ex)
Class.forName("com.mysql.jdbc.Driver")
Class.forName("org.mariadb.jdbc.Driver")
// 작성할 때 잘 확인해야 한다.
- Driver 클래스를 찾지 못할 경우, ClassNotFoundException 예외가 발생한다.
**DriverManger** => JDBC 드라이버 로드
DriverManager 클래스는 JDBC 드라이버를 통하여 Connection을 만드는 역할을 한다.
DriverManager는 Class.forName() 메소드를 통해서 생성된다.
3. Statement 객체 생성
4. Result 객체 생성
5. SQL문 실행
6. Result 객체로부터 결과 받아서 데이터 사용
7. Result 객체 해제
8. Statement 객체 해제
9. Connection 객체 해제



Statement : SQL을 보내기 위한 통로, 인자가 없다.
PreparedStatement : Statement와 동일한데 차이점은 인자값으로 SQL을 받기 때문에 특정한 SQL에 대한 통로라고 생각하면 된다.
CallableStatement : PL/SQL을 호출할 때 사용