전자정부 프레임워크 공부

전자정부 프레임워크 3.10 게시판 예제 - Mysql 연동으로 변경 2

그랜파 개발자 2025. 5. 19. 13:54

jdbc driver 변경

전자정부 프레임워크 3.10의 설정:

<property name="driverClassName" value="com.mysql.jdbc.Driver"/>

이 설정은 MySQL Connector/J 5.x (5.1.x) 버전에 해당합니다.


✅ 설명:

항목
드라이버 클래스 com.mysql.jdbc.Driver
사용 가능한 JDBC 드라이버 버전 5.1.x (MySQL Connector/J 5)
JDBC URL 예시 jdbc:mysql://127.0.0.1:3306/example

❗️그러나 주의:

  • MySQL 8.0 이상에서는 더 이상 com.mysql.jdbc.Driver를 사용하지 않습니다.
  • 대신 MySQL Connector/J 8.0 이상에서는 com.mysql.cj.jdbc.Driver 를 사용해야 합니다.

✅ MySQL 8.x 이상용 수정 예시:

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://127.0.0.1:3306/example?serverTimezone=UTC"/>
    <property name="username" value="user"/>
    <property name="password" value="password"/>
</bean>

🔧 추가 팁:

  • URL에 ?serverTimezone=UTC 옵션을 붙이는 것이 MySQL 8에서 권장됩니다.
  • com.mysql.jdbc.Driver는 deprecated (더 이상 권장되지 않음) 되었으며, 향후 Java 또는 Spring 환경에서 오류가 날 수 있습니다.

✅ 결론:

JDBC 드라이버 버전 드라이버 클래스
5.1.x 이하 com.mysql.jdbc.Driver
6.0 이상 com.mysql.cj.jdbc.Driver ✅ 최신 추천

따라서 MySQL 8 이상을 사용 중이라면 com.mysql.cj.jdbc.Driver로 변경하시는 것을 추천합니다.

  • src\main\webapp\WEB-INF\lib 폴더에 mysql-connector-j-9.3.0.jar를 넣습니다.

수정한 context-datasource.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:jdbc="http://www.springframework.org/schema/jdbc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/jdbc  http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd">
	
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/boarddb?serverTimezone=UTC"/>
        <property name="username" value="user"/>
        <property name="password" value="password"/>
    </bean>
    
</beans>