



<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.14.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
위 코드도 붙여놓기.


<!-- 한글 변환 필터 시작 -->
<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>
<!-- 한글 변환 필터 끝 -->
root-context.xml 파일 설정

root-context.xml 파일가서

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/> <!-- mybatis 설정파일 위치 (main > resource 폴더)-->
<property name="mapperLocations" value="classpath:mapper/*Mapper.xml"/> <!--sql 담긴 파일들 위치랑 이름 패턴 지정한 파일-->
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean>
위 소스 붙여넣기

resources 폴더에 mapper 폴더 만들고 그 아래에 boardMapper.xml 파일 만들기
resources 폴더에 mybatis-config.xml 파일 만들기
main > java > com.bitstudy.app 안에 controller, dao, domain(dto), service 패키지 생성

밑으로 내려서 매핑된 SQL 구분 복사
https://mybatis.org/mybatis-3/ko/getting-started.html
위 홈페이지 들어가서

시작하기로 들어간다.

밑으로 내려서 매핑된 SQL 구분 복사
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>

#{bno}라고 써있는 부분에 보낸 bno값이 들어간다. ($이 아니라 #을 씀. 주의)https://mybatis.org/mybatis-3/ko/getting-started.html
위 홈페이지 들어가서

시작하기로 들어간다.

밑으로 내려서 위 코드 복사.

필요한 코드만 추려놓기.
typeAliases 해서 별칭 BoardDto 로 해놓고 type에 링크를 적어놓는다.
해당 별칭은 mybatis에서만 사용할 수 있다. (boardMapping에서 사용)

그러면 위와같이 resultType을 com.bitstudy.app.domain.Ex02_BoardDto로 써야하는데 BoardDto라고만 써도 인식할 수 있다.
public List<Ex02_BoardDto> selectAll(){
return session.selectList(namespace+"selectAll");
}
------
<select id = "selectAll" resultType = "BoardDto">
select * from board order by reg_date desc, bno desc
</select>list타입으로 값 받기. delete할때는 return값을 int로 하면 된다. return값이 0이면 하나도 못지운거고, return값이 1이면 한줄 지운거다.
map을 사용하거나 dto로 값을 보내고 받아서 사용할 때 #{map.키} 혹은 #{dto.키}로 쓰는게 아니라 그냥 #{키}만 쓰면 된다.