mysql driver는 com.mysql.cj.jdbc.Driver
로 지정해주면 된다.
Statement로 데이터베이스와 연동할 때 연동 할 때마다 DBMS에서 다시 SQL문을 컴파일하기 때문에 속도가 느리다. 따라서 PreparedStatement를 사용하는 것이 좋은데 그 이유는 SQL문을 미리 컴파일해서 재사용하기 때문에 속도가 더 빠르기 때문이다.
필요할 때마다 데이터베이스와 연동하게 되면 데이터베이스 연결하는데 시간이 많이 소요된다는 단점이 있다. 이 단점을 개선하기 위해 ConnectionPool이라는 기술이 있다. 커넥션풀은 웹앱이 실행될때 같이 데이터베이스 연결도 미리 설정한다. 프로그램은 커넥션풀에서 꺼내다 사용하므로 빠르게 데이터베이스 연산을 처리할 수 있게 된다.
톰캣은 javax.sql.DataSource
를 이용해 커넥션풀 기능을 제공하며 생성할 때 이 객체에 대한 JNDI key값을 미리 설정해 놓고 웹앱에서 필요할 때 이 키 값으로 접근하여 작업을 수행한다.