-생성과정
기본프로젝트 생성(3단계 패키지)
kr.co.gudi -> 첫 실행
web.xml 확인
-설정파일 위치, 한글깨짐 방지 -> 실행
- 한글깨짐 방지
<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>
3. 버전변경 (project facet, pom.xml)
java -1.8 / 4.3.14.RELEASE
plugin -3.7.0 / 1.8
4. 패키지, 클래스 생성 (Controller,Service) -> 실행
5. 라이브러리 추가
-mariadb-jdbc / commons-dbcp
-mybatis / spring-jdbc / mybatis-spring
- pom.xml
```java
<!-- 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.3</version>
</dependency>
<!-- connection pool -->
<!-- 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>
<!-- datasource -->
<!-- url, username, password 는 바뀔수 있으니 항상 확인 할 것 -->
<!-- DB의 종류가 바뀌면 driverClassName,url 도 바뀌게 된다. -->
<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/gdj70"/>
<beans:property name="username" value="web_user"/>
<beans:property name="password" value="pass"/>
</beans:bean>
<!--mapper location-->
<!-- 마이바티스 에서 xml 사용 설정 -->
<!-- mapper의 위치 꼭 확인 할 것 -->
<beans:bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- DB 접속에 필요한 데이터소스 지정 -->
<beans:property name="dataSource" ref="datasource"/>
<!-- 쿼리문 xml 위치 지정-->
<beans:property name="mapperLocations" value="classpath:kr/co/gudi/dao/*.xml"/>
</beans:bean>
<!-- mybatis package area -->
<!-- 마이바티스를 사용할 패키지 지정 -->
<!-- dao 패키지 경로 확인 -->
<mybatis-spring:scan base-package="kr.co.gudi.dao"/>
<!--하단 Namespaces -> mybatis-spring 체크-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"
>
<!-- I.O.C : DB 접속, 쿼리 실행, 자원반납, resultSet 생성 등이 자동으로 된다. -->
<!-- D.I : 작업에 필요한 내용을 xml에 등록(빈등록) 해놓으면 필요한 곳에서 사용한다. -->
<!-- 변경사항이 생기면 xml의 내용만 바꿔주면 된다. -->
<!-- mapper : 쿼리문을 저장하고 있는 xml -->
<!-- namespace : 어떤 인터페이스와 연결 되는가? -->
<mapper namespace="kr.co.gudi.dao.MemberDAO">
<!-- join : INSERT INTO -->
<!-- id = 연결할 추상 메서드 -->
<!-- 파라메터가 하나로 뭉쳐서 왔을 경우... -->
<!-- parameterType 을 쓸 경우는 이름을 사용한다. -->
<insert id="join" parameterType="hashmap">
INSERT INTO member(id,pw,name,age,email,gender)
VALUE(#{id},#{pw},#{name},#{age},#{email},#{gender})
</insert>
<!-- login : SELECT -->
<select id="login" resultType="String">
SELECT id from member
WHERE id=#{param1} AND pw=#{param2}
</select>
<!-- list : SELECT -->
<!-- resultType 이 사용자가 만든 class 일 경우 풀 경로를 다 명시해야 한다. -->
<select id="list" resultType="kr.co.gudi.dto.MemberDTO">
SELECT id,name,gender FROM member
</select>
<!-- delete : DELETE-->
<delete id="del">
DELETE FROM member WHERE id=#{param1}
</delete>
<!-- detail : SELECT -->
<select id="detail" resultType="kr.co.gudi.dto.MemberDTO">
SELECT * FROM member WHERE id=#{param1}
</select>
</mapper>
<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<!-- @Controller, @Service 등의 어노테이션을 인식 하도록 해 주는 설정 -->
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<!-- @Controller 에서 문자열 반환문에 앞/뒤로 붙여줄 내용 -->
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<!-- 우리가 사용하고 있는 어노테이션의 인식 범위 -->
<context:component-scan base-package="kr.co.gudi" />
<!-- 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/gdj70"/>
<beans:property name="username" value="web_user"/>
<beans:property name="password" value="pass"/>
</beans:bean>
<!-- 마이바티스 에서 xml 사용 설정 -->
<beans:bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- DB 접속에 필요한 데이터소스 지정 -->
<beans:property name="dataSource" ref="datasource"/>
<!-- 쿼리문 xml 위치 지정-->
<beans:property name="mapperLocations" value="classpath:kr/co/gudi/dao/*.xml"/>
</beans:bean>
<!-- 마이바티스를 사용할 패키지 지정 -->
<mybatis-spring:scan base-package="kr.co.gudi.dao"/>