Junit으로 테스트를 해보면서 mapper 파일을 이리저리 조작해보면서 기본적 DML 조작을 성공시켰다.
기록으로 남겨두어야, 까먹지 않을거라고 생각한다.
Mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.soomin.dao.MemberDAO">
<resultMap type="memberVO" id="RmemberVO">
<result column="id" property="id" />
<result column="email" property="email" />
<result column="password" property="password" />
<result column="name" property="name"/>
<result column="regdate" property="regdate" />
</resultMap>
<select id="selectMemberList" resultMap="RmemberVO" resultType="memberVO" >
SELECT * FROM MEMBER
</select>
<insert id="insertMember" parameterType="memberVO">
INSERT INTO MEMBER (EMAIL,PASSWORD,NAME,REGDATE) VALUES(#{email}, #{password}, #{name}, #{regdate})
</insert>
<select id="findMember" parameterType="java.lang.String" resultMap="RmemberVO" resultType="memberVO">
SELECT * FROM MEMBER WHERE EMAIL =#{email}
</select>
<delete id="deleteMember" parameterType="java.lang.String">
DELETE FROM MEMBER WHERE EMAIL=#{delete}
</delete>
</mapper>
MemberDAO
package com.soomin.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.soomin.vo.MemberVO;
@Mapper
public interface MemberDAO {
List<MemberVO> selectMemberList();
void insertMember(MemberVO id);
void deleteMember(String delete);
MemberVO findMember(String email);
}
Test클래스
package com.soomin.test;
import java.time.LocalDateTime;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import com.soomin.config.ContextConfig;
import com.soomin.dao.MemberDAO;
import com.soomin.vo.MemberVO;
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = { ContextConfig.class })
public class TestMyBatis {
@Autowired
private MemberDAO memberDao;
@Test
public void memberDaoTest() {
System.out.println("\n MemberDAO 의존 주입 여부 >>>>> " + memberDao + "\n");
try {
List<MemberVO> list = memberDao.selectMemberList();
list.forEach(m -> System.out.println(m.toString()));
} catch (Exception e) {
e.printStackTrace();
}
}
// @Test
public void insertMemberTest() {
MemberVO m = new MemberVO();
m.setId(3L);
m.setEmail("madvirus@mad.net");
m.setPassword("7890");
m.setName("최범균");
m.setRegdate(LocalDateTime.now());
System.out.println("\n현재시각 >>>>> " + LocalDateTime.now() + "\n");
try {
memberDao.insertMember(m);
} catch (Exception e) {
e.printStackTrace();
}
}
// @Test
public void findMemberTest() {
try {
MemberVO member1 = memberDao.findMember("madvirus@mad.net");
System.out.println(member1);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void deleteMemberTest() {
try {
memberDao.deleteMember("madvirus@mad.net");
} catch (Exception e) {
e.printStackTrace();
}
}
}
이제, Mybatis를 가지고 예제를 타이핑할 것이다. 아주 기초적인 부분을 완료했으나, 이제 퍼시스턴스 프레임워크를 가지고 스프링 예제를 만들어 볼 수 있게 되었다는 생각에 기쁨이 스민다.
'MyBatis' 카테고리의 다른 글
Mybatis 콘솔에 쿼리문 및, 결과 출력- (0) | 2020.07.19 |
---|---|
log4j.xml (0) | 2020.07.18 |
4.Java 에노테이션으로 MyBatis 연동 및 테스트 (0) | 2020.07.13 |
3.MyBatis를 이용한 데이터 조회와 연동-log (0) | 2020.07.11 |
0.Basic.개발의 주요 구조. (0) | 2020.07.11 |