ํฐ์คํ ๋ฆฌ ๋ทฐ
repository
DAO๋ฅผ ๋ด๋นํ๋ ํจํค์ง์ด๋ค.
DAOํด๋์ค๋ DB์ ์ ์ํด์ ๋ฐ์ดํฐ์ ์ถ๊ฐ, ์ญ์ , ์์ ๋ฑ์ ์์ ์ ํ๋ค.
๋จผ์ ๊ฒ์ํ ๊ธฐ๋ฅ์ ์์ธํ๋ฅผ ์ํ DAO์ ์ธํฐํ์ด์ค๋ถํฐ ๋ง๋ค์ด์ค๋ค.
IBoardDAO.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package com.spring.myapp.board.repository;
import com.spring.myapp.board.model.BoardVO;
public interface IBoardDAO {
//๊ธฐ๋ฅ์ ์์ธํํ๊ธฐ ์ํ ์ธํฐํ์ด์ค ์ค๊ณ
//๊ฒ์ํ ๊ธฐ๋ฅ์ ์์ธํ๋ค.
//1. ๊ฒ์๊ธ ๋ฑ๋ก ๊ธฐ๋ฅ ๋ฉ์๋ - ๊ฒ์๊ธ์ ํ๋ ๊ฐ์ ธ์์ ๋ฑ๋กํ๋ค.
void insert(BoardVO article) throws Exception;
}
|
์ถ์์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฒดํ ์ํค๋ ๊ตฌํ ํด๋์ค๋ ๋ง๋ค์ด ์ค๋ค.
BoardMapper.xml
์ค์ ํ์ผ์์ *Mapper.xml๋ก ํ๋๋ก ์ค์ ํด๋์ผ๋๊น ์ด๋ฆ ์์ฑํ ๋ ์ฃผ์๋ฅผ ํ๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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">
<!--
๋งคํผ์ namespace ์์ฑ์ ์ฌ์ฉํด ๋งคํผ์ ์ด๋ฆ์ ์ ํด์ค๋ค.
๊ธฐ์กด์ ๋ฐฉ์์์๋ repository์ DAO์ ์ธํฐํ์ด์ค์ ๊ฒฝ๋ก๋ฅผ ์ผ๋๋ฐ
๊ฐ๋จํ๊ฒ ๋ง๋๋ก ์ ์ด๋๊ณ ์ค์ ์ ํ๊ณ DAO์ ๋ ํ์งํ ๋ฆฌ ์ด๋
ธํ
์ด์
(@Repository)์ ๋ฌ์์ค๋ค.
-->
<mapper namespace="BoardMapper">
</mapper>
|
BoardDAO.java
๋ค์ mappaer๋ฅผ ์ฐ๊ฒฐํด์ฃผ๊ธฐ ์ํด sqlSqlSession ๊ฐ์ฒด๊ฐ ํ์ํ๋ค. ์ด ๊ฐ์ฒด๋ DAO์ ์ ์ธํด์ค๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package com.spring.myapp.board.repository;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.spring.myapp.board.model.BoardVO;
//์๋ ๋น ๋ฑ๋ก ์ด๋
ธํ
์ด์
: @Component, @Controller, @Service, @Repository
@Repository
public class BoardDAO implements IBoardDAO {
//Mapper์ ์ฐ๊ฒฐํด์ฃผ๊ธฐ ์ํ ๊ฐ์ฒด ์ ์ธ - ๊ฐ์ ๋ณ๊ฒฝํ์ง ์์ผ๋ ค๊ณ final์ ๋ถ์
private final SqlSession sqlSession;
//๊ฐ์ ์ฒ์์ ์ฃผ์ด์ฃผ์ง ์์ผ๋ฉด ๋นจ๊ฐ์ค์ด ๋จ๋๊น ๊ฐ์ ์ค์ ํด์ค๋ค.
private static final String NAMESPACE = "BoardMapper";
//์์กด์ฑ ์๋์ฃผ์
์๋
ธํ
์ด์
: @Autowired, @Inject, @Resources
//SqlSession ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ง ์์๋ ์๋์ผ๋ก ์ฃผ์
์์ผ์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค.
@Autowired
public BoardDAO(SqlSession sqlSession) {
//๊ฐ์ ์ ์ฅํด์ฃผ๋ฉด ๋นจ๊ฐ์ค ์ฌ๋ผ์ ธ์
this.sqlSession = sqlSession;
}
//1. ๊ฒ์๊ธ ๋ฑ๋ก ๊ธฐ๋ฅ ๋ฉ์๋ - ๊ฒ์๊ธ์ ํ๋ ๊ฐ์ ธ์์ ๋ฑ๋กํ๋ค.
@Override
public void insert(BoardVO article) throws Exception {
}
}
|
BoardMapper.xml์ ๋ค์ ์ฝ๋ ์ถ๊ฐ
<!-- id์๋ ์ฐ๊ฒฐ๋ ๋ ํ์งํ ๋ฆฌ์ ๋ฉ์๋ ์ด๋ฆ๊ณผ ๋์ผํ๊ฒ ์ค์ ํ๋ค. -->
<!-- ๊ฒ์๋ฌผ ๋ฑ๋ก -->
<insert id="insert">
insert into mvc_board(title, content, writer) values(#{title}, #{content}, #{writer})
</insert>
|
DB์ปฌ๋ผ๋ช ๊ณผ VOํ๋๋ช ์ด ๋ค๋ฅผ๊ฒฝ์ฐ ResultMap ์ฒ๋ฆฌ
id๋ ๊ธฐ๋ณธํค result๋ ๋๋จธ์ง
property๋ VO์ ํ๋๋ช column์ DB์ปฌ๋ผ๋ช
BoardMapper.xml์ ๋ค์ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ค๋ค.
<!--
DB ์ปฌ๋ผ๊ณผ VOํ๋๋ช
์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ๋ฆฌ์ ํธ ๋งต ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
๊ฐ๋จํ ์ด๋ฆ ์ฌ์ฉํ๊ธฐ ์ํด mybatis-config.xml์ ์๋ฆฌ์์ค ์ค์ ์ ํด์ค๋ค.
type์ ์๋ ๋ค ๋ค์ด๊ฐ์ผํ์ง๋ง ์ค์ ํ์ผ์์ ๋ณ์นญ์ ์ ํด์คฌ๊ธฐ ๋๋ฌธ์ BoardVO๋ก๋ง ๊ฐ๋ฅ
-->
<resultMap id="BoardResultMap" type="BoardVO">
<id property="boardNo" column="board_no" />
<result property="title" column="title" />
<result property="content" column="content" />
<result property="writer" column="writer" />
<result property="regDate" column="reg_date" />
<result property="viewCnt" column="view_cnt" />
</resultMap>
|
BoardDAO.java
DAO์์ Mapper์ ์ฐ๊ฒฐํด์ฃผ๊ธฐ ์ํด์๋ Mapper์ ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ค.
//1. ๊ฒ์๊ธ ๋ฑ๋ก ๊ธฐ๋ฅ ๋ฉ์๋ - ๊ฒ์๊ธ์ ํ๋ ๊ฐ์ ธ์์ ๋ฑ๋กํ๋ค.
@Override
public void insert(BoardVO article) throws Exception {
//statement ๊ธฐ์ - BoardMapper์ ์ฐ๊ฒฐํด์ฃผ๊ธฐ ์ํด ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ๊ณ
//insert๋ article์ด ํ์ํ๋๊น ์ ๋ณด๋ฅผ ๊ฐ์ด ๋๊ฒจ์ค๋ค.
sqlSession.insert(NAMESPACE+".insert", article);
}
|
Test - BoardDAOTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import javax.inject.Inject;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.spring.myapp.board.model.BoardVO;
import com.spring.myapp.board.repository.IBoardDAO;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:/spring/mvc-config.xml"})
public class BoardDAOTest {
//๋ก๊ทธ๋ฅผ ์ฐ๊ธฐ ์ํจ
private static final Logger logger = LoggerFactory.getLogger(BoardDAOTest.class);
//DAO ๊ฐ์ฒด ๋ง๋ค๊ธฐ
@Inject
private IBoardDAO boardDAO;
//๊ฒ์๋ฌผ ๋ฑ๋ก ํ
์คํธ
@Test
public void insertTest() throws Exception {
for (int i = 1; i <= 3000; i++) {
BoardVO vo = new BoardVO();
vo.setTitle(i + "๋ฒ์งธ ํ
์คํธ ๊ฒ์๋ฌผ!!");
vo.setContent(i + "๋ฒ์งธ ๊ฒ์๋ฌผ ๋ด์ฉ์
๋๋ค~~");
vo.setWriter("user" + i);
boardDAO.insert(vo);
}
}
}
|
'Project > SpringMVC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SpringMVC] ๊ฒ์ํ ๋ง๋ค๊ธฐ - ๊ฒ์๋ฌผ ์์ (0) | 2019.07.25 |
---|---|
[SpringMVC] ๊ฒ์ํ ๋ง๋ค๊ธฐ - ๊ฒ์๋ฌผ ์กฐํ (0) | 2019.07.25 |
[SpringMVC] ๊ฒ์ํ ๋ง๋ค๊ธฐ - model (0) | 2019.07.11 |
[SpringMVC] ๊ฒ์ํ ๋ง๋ค๊ธฐ - ํจํค์ง ๋ง๋ค๊ธฐ (0) | 2019.07.10 |
[SpringMVC] ์ด๊ธฐ ์ค์ - root-context.xml (0) | 2019.07.10 |
- Total
- Today
- Yesterday
- ๊ฒ์๋ฌผ ์ญ์
- ์ ์ฒด๊ฒ์๋ฌผ ์กฐํ
- ๊ฒ์๋ฌผ์กฐํ
- typeAliases
- ๊ฒ์ํ ์กฐํ
- java ํ๊ฒฝ๋ณ์
- Java
- ๊ฐ๋ฐ
- ์ดํด๋ฆฝ์ค ํ๊ธ ์ธ์ฝ๋ฉ
- ์๋ฐ
- ์จ๋ฆฌ์์ค
- ๊ฐ๋ฐํ๊ฒฝ๊ตฌ์ถ
- ๋ณ๋ช ์ฒ๋ฆฌ
- ์ดํด๋ฆฝ์ค ์ค์น
- tomcat์ค์น
- ๊ฒ์ํ๋ง๋ค๊ธฐ
- ์๊ณ ๋ฆฌ์ฆ
- Algorithm
- java jdk ์ค์น
- mysql์ค์น
- ๊ฒ์ํ ์ญ์
- ๋ถํธ ์๋์์ฑ
- ์๋ฃ๊ตฌ์กฐ
- ์คํ๋ง๋ถํธ ์๋์์ฑ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |