2021. 7. 29. 16:09ㆍ(구)공부/Spring
pom.xml에
<properties>
<java-version>1.8</java-version>
<org.springframework-version>5.0.7.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
자바 버전과 스프링버전 수정
<!--mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.1</version>
</dependency>
마이바티스 디팬던시 추가
프로젝트 jre버전을 11로 수정
Spring->appServlet->servlet-context.xml 에 추가
<beans:bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<beans:property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<beans:property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<beans:property name="username" value="scott"/>
<beans:property name="password" value="tiger"/>
</beans:bean>
<beans:bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<beans:property name="dataSource" ref="dataSource"/>
<beans:property name="mapperLocations"
value="classpath:com/bit/springNote2/dao/mapper/*.xml"/> <!-- 맵퍼의 위치를 설정 -->
</beans:bean>
<beans:bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<beans:constructor-arg index="0" ref="sqlSessionFactory"/>
</beans:bean>
mysql의 경우
<bean name="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://디비"/>
<property name="username" value="이름"/>
<property name="password" value="비번"/>
</bean>
<bean id="sqlSession"
class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0"
ref="sqlSessionFactory">
</constructor-arg>
</bean>
DAO.xml
<?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">
<mapper namespace="com.bit.springNote2.dao.IDao">
<insert id="writeDao">
insert into tblNote(id,writer,content)
values(tblNoteSeq.nextval,#{param1},#{param2})
</insert>
<select id="listDao" resultType="com.bit.springNote2.dto.NoteDto">
select * from tblNote order by id desc
</select>
<delete id="deleteDao">
delete from tblNote where id=#{param1}
</delete>
</mapper>
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"에 정의 되어 있는 태그로 제작함
컨트롤러 메소드
@Autowired
//servlet-context.xml 생성된 객체를 주입 받아서 사용
private SqlSession sqlSession;
@RequestMapping(value = "write")
public String write(HttpServletRequest req, Model model) {
IDao dao = sqlSession.getMapper(IDao.class);
dao.writeDao(req.getParameter("writer"), req.getParameter("content"));
return "redirect:list";
}