mybatis사용

2021. 7. 29. 16:09(구)공부/Spring

728x90

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";
}

 

 

728x90

'(구)공부 > Spring' 카테고리의 다른 글

지메일 보내기 SMTP  (0) 2021.08.04
스프링의 부팅  (0) 2021.07.30
JDBC  (0) 2021.07.29
객체  (0) 2021.07.28
메이븐  (0) 2021.07.28