예전에 만들어 둔 Spring 템플릿이 mariaDB 연동이었는데 맥북에 mysql만 설치되어 있어서 바꿔주었다.
<!-- Database & myBatis -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.23</version>
</dependency>
<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/root-context.xml
classpath*:spring/context-*.xml
</param-value>
</context-param>
<bean id="dataSourceOrigin" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/[스키마명]?useSSL=false&serverTimezone=UTC&autoReconnection=true&allowMultiQueries=true" />
<property name="username" value="[mysql account]" />
<property name="password" value="[mysql pw]" />
<!-- validationQuery:유효 검사용 쿼리( 1개 이상의 row를 반환하는 쿼리를 넣어주면 된다. ) -->
<property name="validationQuery" value="select 1" />
<!-- testWhileIdle:컨넥션이 놀고 있을때 -_-; validationQuery 를 이용해서 유효성 검사를 할지 여부. -->
<property name="testWhileIdle" value="true" />
<!-- timeBetweenEvictionRunsMillis:해당 밀리초마다 validationQuery 를 이용하여 유효성 검사 진행 -->
<property name="timeBetweenEvictionRunsMillis" value="600000" />
</bean>
<bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
<constructor-arg ref="dataSourceOrigin" />
<property name="logFormatter">
<bean class="com.my.common.log.Log4JdbcCustomFormatter">
<property name="loggingType" value="MULTI_LINE" /><!-- 여러줄에 출력하려고 하시면 코멘트 해제 -->
<property name="margin" value="8" />
<property name="sqlPrefix" value="SQL : " />
</bean>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/[스키마명]" />
<property name="username" value="[mysql account]" />
<property name="password" value="[mysql pw]" />
</bean>
<!-- mapper 자동 적용을 위한 Custom RefreshableSqlSessionFactoryBean을 사용(개발시에만 사용 권장) -->
<bean id="sqlSessionFactory" class="com.my.common.db.RefreshableSqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath*:mappers/*Mapper.xml" />
<property name="interval" value="1000" />
</bean>