<!-- 프로젝트를 위해 추가한 라이브러리 -->
<!-- JDBC -->
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.7.2</version>
</dependency>
<!-- common-dbcp -->
<!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- Spring-jdbc -->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.14.RELEASE</version>
</dependency>
<!-- Mybatis -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- Mybatis-Spring -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!-- 프로젝트를 위해 추가한 라이브러리 -->
<!-- Filter 등록 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!-- 인코딩 종류 -->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<!-- 강제 인코딩 여부 -->
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<!-- 어떤 요청이 왔을 때 어떤 필터를 쓸지 정해주기 -->
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- DataSource 작성 (==접속정보) -->
<beans:bean name="datasource" class="org.apache.commons.dbcp.BasicDataSource">
<beans:property name="driverClassName" value="org.mariadb.jdbc.Driver"/>
<beans:property name="url" value="jdbc:mariadb://localhost:3306/mydb"/>
<beans:property name="username" value="web_user"/>
<beans:property name="password" value="pass"/>
</beans:bean>
<!-- Mybatis 설정 -->
<beans:bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 연결할 DB 정보 -->
<beans:property name="dataSource" ref="datasource"/>
<!-- 쿼리문이 있을 장소 -->
<beans:property name="mapperLocations" value="classpath:kr/co/gudi/dao/*.xml"/>
</beans:bean>
<!-- mybatis를 별다른 코드없이 사용할 수 있는 annotation 등록 -->
<mybatis-spring:scan base-package="kr.co.gudi"/>
만약 DB 연동이 지정한 classpath 외에도 필요하다면 다음과 같이 list를 통해 가져올 수 있다.
<beans:property name="mapperLocations">
<beans:list>
<beans:value>classpath:kr/co/gudi/member/dao/.xml</beans:value>
<beans:value>classpath:kr/co/gudi/board/dao/.xml</beans:value>
</beans:list>
</beans:property>
.
.
.
<mybatis-spring:scan base-package="kr.co.gudi.**.dao"/>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"
>
<!-- xml을 java에서 쓰기 위해 연결되는 interface가 필요하다. -->
<!-- 아래 MemberDAO 는 Interface : 생성 해주면 됨 -->
<mapper namespace="kr.co.gudi.dao.MemberDAO">
</mapper>
<!-- id="연결할 인터페이스의 메서드명" -->
<!-- connection을 열고 ->PreparedStatement -> '?'대응 -> 쿼리 실행 -> 자원 반납 -->
<insert id="join" parameterType="hashmap">
INSERT INTO member(id,pw,name,age,gender,email)
VALUES(#{id},#{pw},#{name},#{age},#{gender},#{email})
</insert>
package kr.co.gudi.dao;
import java.util.HashMap;
public interface MemberDAO {
// 인터페이스이므로 추상메서드
int join(HashMap<String, String> params);
}