sej226 / spring-boot

SpringBoot 기반의 게시판 만들기
1 stars 0 forks source link

2019.05.31_mapper.xml 작성, Junit 테스트 #4

Open sej226 opened 5 years ago

sej226 commented 5 years ago

※ application.properties

db 연동

※ mybatis-config.xml

<configuration>
     <mappers>
        <mapper resource="mapper/humor.xml"/>
        <mapper resource="mapper/humorReply.xml"/>
        <mapper resource="mapper/member.xml"/>
        <mapper resource="mapper/memo.xml"/>
        <mapper resource="mapper/trans.xml"/>
    </mappers> 
</configuration>

1. Mapper.xml 작성

humor.xml : 유머 게시판 mapper
<insert id="addHumor" parameterType="com.boot.vo.Humor">
<select id="selectAllHumor" resultType="com.boot.vo.Humor">
<select id="selectHumorByID" resultType="com.boot.vo.Humor" parameterType="string">
<select id="selectHumorByTitle" resultType="com.boot.vo.Humor" parameterType="string">
<select id="selectHumorByContent" resultType="com.boot.vo.Humor" parameterType="string">
<select id="selectHumorByNum" resultType="com.boot.vo.Humor" parameterType="int">
<select id="selectHumorByToday" resultType="com.boot.vo.Humor">
<select id="selectHumorByRank" resultType="com.boot.vo.Humor">
<delete id="deleteHumor" parameterType="int">
<update id="updateHumor"  parameterType="com.boot.vo.Humor">

humorReply.xml : 유머 게시판 댓글 mapper
<insert id="addHumorReply" parameterType="com.boot.vo.Humorreply">
<select id="selectAllHumorReply" resultType="com.boot.vo.Humorreply">
<delete id="deleteHumorReply" parameterType="int">
<update id="updateHumorReply"  parameterType="com.boot.vo.Humorreply">

member.xml : 회원 mapper
<insert id="addMember" parameterType="com.boot.vo.Member">
<delete id="deleteMember" parameterType="string">
<update id="updateMember"  parameterType="com.boot.vo.Member">
<select id="selectAllMember" resultType="com.boot.vo.Member">
<select id="selectMemberByID" resultType="com.boot.vo.Member" parameterType="string">
<select id="selectHumorByName" resultType="com.boot.vo.Member" parameterType="string">
<select id="selectHumorByGrade" resultType="com.boot.vo.Member" parameterType="string">

memo.xml : 쪽지 mapper
<insert id="sendMemo" parameterType="com.boot.vo.Memo">
<delete id="deleteMemo" parameterType="int">
<select id="selectMemoByReceiverID" resultType="com.boot.vo.Memo" parameterType="string">
<select id="selectMemoByMemoPK" resultType="com.boot.vo.Memo" parameterType="int">

trans.xml : 관리비 mapper
<insert id="addTrans" parameterType="com.boot.vo.Trans">
<delete id="deleteTrans" parameterType="string">
<select id="selectAllTrans" resultType="com.boot.vo.Trans">
<select id="selectTransByDeposit" resultType="com.boot.vo.Trans" parameterType="boolean">
<select id="selectTransByWithdraw" resultType="com.boot.vo.Trans"  parameterType="boolean">

2. Jnuit Test

import java.util.List;

import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner;

import com.boot.dao.impl.HumorDAOImpl; import com.boot.vo.Humor;

@RunWith(SpringRunner.class) @SpringBootTest public class BootboardApplicationTests { @Autowired SqlSession session;

@Test
public void contextLoads() {

    Humor humor = new Humor(0, "sej96226@gmail.com", "시험 공부 열심히 합시다.", "!그래 좋아", 0, "img01.jpg");
    session.insert("com.boot.dao.HumorDAO.addHumor", humor);

    session.delete("com.boot.dao.HumorDAO.deleteHumor", 8);

    List<Humor> list = session.selectList("com.boot.dao.HumorDAO.selectAllHumor");
    for(Humor h : list) {
        System.out.println(h);
    }
}

}

- 유머 게시판 DB 정보 조회

humor [humorPK=2, humorID=sej96226@gmail.com, humorTitle=니가 짠 함수 보이드재?, humorContent=void 지? ㅎㅎㅎㅎㅋㅋㅎㅋ , humorDate=2019-05-30, humorCount=0, humorImgURL=img/12.png] humor [humorPK=3, humorID=sej96226@gmail.com, humorTitle=다! 가 뭘까요~?, humorContent=다! = 다 x나 x 가 = 다나가ㅋ, humorDate=2019-05-31, humorCount=0, humorImgURL=img/12.png] humor [humorPK=4, humorID=sej96226@gmail.com, humorTitle=hobby 할래? , humorContent=합의알고리즘 엌ㅋㅋㅋㅋㅋㅋ, humorDate=2019-05-30, humorCount=0, humorImgURL=img/12.png] humor [humorPK=7, humorID=sej96226@gmail.com, humorTitle=book, humorContent=kin, humorDate=2019-05-31, humorCount=0, humorImgURL=aaa] humor [humorPK=9, humorID=sej96226@gmail.com, humorTitle=시험 공부 열심히 합시다., humorContent=!그래 좋아, humorDate=2019-05-31, humorCount=0, humorImgURL=img01.jpg]



## 3. DAO, Service 구현  

- HumorServiceImpl (HumorService 상속) <- HumorHumorDAOImpl (HumorDAO 상속)  <- humor.xml

 - HumorreplyServiceImpl(HumorreplyService 상속) <- HumorreplyDAOImpl(HumorreplyDAO 상속)  <- humorReply.xml

- MemberServiceImpl(MemberService 상속)  <- MemberDAOImpl(MemberDAO 상속) <- member.xml

- MemoServiceImpl(MemoService 상속)  <- MemoDAOImpl(MemoDAO 상속) <- - memo.xml

- TransServiceImpl(TransService 상속) <- TransDAOImpl (TransDAO 상속)  <- trans.xml

## 패키지 계층 구조

![패키지 계층 구조](https://user-images.githubusercontent.com/26791027/58693568-04e20880-83cc-11e9-8020-6be677e32bd7.JPG)