Mapper Interface?

2020. 7. 23. 20:49ยท ๐ŸŒ WEB/Spring

๋ฉด์ ‘๋ณด๊ธฐ ์œ„ํ•ด ๊ณผ์ œ๋ฅผ ํ•ด์•ผ ํ–ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ํŒŒ์ผ์„ ๋ฐ›์•˜๋Š”๋ฐ ๊ณ„์† ๊ตฌํ˜„ํ•ด์˜ค๋˜ ๊ตฌ์กฐ์™€๋Š” ๋งŽ์ด ๋‹ฌ๋ผ์„œ ์‹œ๊ฐ„์„ ๋งŽ์ด ์ผ๋‹ค.

ํ•˜์ง€๋งŒ ์—ญ์‹œ๋‚˜ ์ธํ„ฐ๋„ท์„ ์ž์„ธํžˆ ๋ณด๊ณ  ์—„์ฒญ๋‚œ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ํ•œ ํ›„์— ์ ์‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์–ธ์ œ ๋‹ค์‹œ ์“ธ ์ˆ˜ ์žˆ์„์ง€ ๋ชฐ๋ผ ๊ธฐ๋กํ•ด ๋‘๊ธฐ๋กœ ํ–ˆ๋‹ค.

 

Mapper์˜ SQL ID์™€ Mapper Interface์˜ ๋ฉ”์„œ๋“œ๋ช…๊ณผ ์ •ํ™•ํžˆ ๋งค์นญํ•ด์ค€๋‹ค๋ฉด ์ž๋ฐ”์—์„œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์˜คํƒ€์— ๋Œ€ํ•œ ๊ฑฑ์ •์ด ์—†๋‹ค. 

 

 

๊ฐœ๋ฐœ์„ ๋ฐฐ์šฐ๋ฉด์„œ ์“ฐ๋˜ ๊ตฌ์กฐ๋Š” ๋Œ€์ถฉ ์ด๋Ÿฐ์‹์ด์—ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๋ฒˆ์— ๋ฐ›์€ ๊ณผ์ œ๋Š” Mapper Interface, Service class, sql.xml ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๋กœ ์žˆ์—ˆ๋‹ค.

 

์ฒ˜์Œ ๋ณธ ๊ตฌ์กฐ

1.propertis์—์„œ ์•Œ๋ฆฌ์•„์Šค๋ฅผ ์ด์šฉํ•ด sql์—์„œ dto๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋˜ ๊ฒƒ์„ annotation์„ ์‚ฌ์šฉํ•˜๋ฉด ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ

์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

<์‚ฌ์šฉ ํ•˜๋˜ ๊ตฌ์กฐ>

์ด์ „์— ์‚ฌ์šฉํ•˜๋˜ mapper.xml์—์„œ ํ’€๋„ค์ž„์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก alias๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ๋Š” ๋ชจ์Šต๋‹ˆ๋‹ค.

 

์–ด๋…ธํ…Œ์ด์…˜์„ ํ™œ์šฉ

<์ฒ˜์Œ ๋ณธ ๊ตฌ์กฐ>

์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด dto class์— Alias๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์—ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

 

 

์šฐ์„  sqlSessionFactory๋ฅผ ์ •์˜ํ•ด๋‘” contextํŒŒ์ผ์—์„œ ์œ„์— <property name="typeAliasesPackage" value="ํŒจํ‚ค์ง€" />

ํ•ด๋‹น dto๋ฅผ ํฌํ•จํ•œ ํŒจํ‚ค์ง€๋ฅผ value๋กœ ๋‘๊ณ  property๋ฅผ ์ถ”๊ฐ€ ํ•ด์ค€๋‹ค๋ฉด ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € dto or vo์— @Alias๋ฅผ ์ •์˜ํ•ด์ฃผ์‹  ๋‹ค์Œ์— ํ•ด๋‹น mapper.xml๋กœ ์ด๋™ํ•˜์…”์„œ ํ•„์š”ํ•œ

resultType์ด๋‚˜ parameterType์— ์ •์˜ ํ•ด์ฃผ์‹œ๋ฉด๋ฉ๋‹ˆ๋‹ค!

 

2.์ด๋•Œ namespace์™€ Mapper Interface์™€ ์ด๋ฆ„์„ ๊ฐ™๊ฒŒ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

 

namespace = com.(  ).potal.user.mapper.UserMapeer 

 

3. interface์•ˆ์— ๋ฉ”์„œ๋“œ ์ด๋ฆ„๊ณผ mapper.xml id์™€ ์ด๋ฆ„์ด ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์œ„์— id = selectUser๊ฐ€ ์žˆ๋‹ค๋ฉด Interface์•ˆ์— public List<UserVO> selectUser(); ์ด๋ ‡๊ฒŒ ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

4.๊ทธ Interface๋ฅผ Service๊ฐ€ ์ƒ์†๋ฐ›์•„ Override๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ ํ•ฉ๋‹ˆ๋‹ค!

๋‹ค์Œ์—, @Autowired๋ฅผ ์ด์šฉํ•˜์—ฌ Mapper Inteface๋ฅผ bean์œผ๋กœ ๋“ฑ๋กํ•ด์ค๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ถ”๊ฐ€, ์ˆ˜์ • ํ• ๋•Œ xml, Interface, service๋งŒ์„ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐ŸŒ WEB > Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Spring boot + JWT + RefreshToken ๊ตฌํ˜„ํ•˜๊ธฐ  (10) 2021.01.29
Spring boot์—์„œ JSP ์‚ฌ์šฉํ•˜๊ธฐ  (0) 2021.01.25
Spring ์ด์ •๋ฆฌ 3.Annotation  (0) 2020.06.13
Spring ์ด์ •๋ฆฌ 2.Spring 3๋Œ€ ์ž‘๋™์›๋ฆฌ  (0) 2020.06.06
Spring ์ด์ •๋ฆฌ 1.Spring์— ๊ธฐ๋ฐ˜์ด ๋˜๋Š” Servlet  (0) 2020.06.06
'๐ŸŒ WEB/Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Spring boot + JWT + RefreshToken ๊ตฌํ˜„ํ•˜๊ธฐ
  • Spring boot์—์„œ JSP ์‚ฌ์šฉํ•˜๊ธฐ
  • Spring ์ด์ •๋ฆฌ 3.Annotation
  • Spring ์ด์ •๋ฆฌ 2.Spring 3๋Œ€ ์ž‘๋™์›๋ฆฌ
์• ์ •์“ฐ
์• ์ •์“ฐ
์• ์ •์“ฐ
์• ์ •์ฝ”๋”ฉ ๐Ÿ’ป
์• ์ •์“ฐ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (93)
    • ๐Ÿง  MIND (0)
    • ๐Ÿ“ ํšŒ๊ณ  (5)
    • โš™๏ธ ๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ (2)
    • ๐Ÿ—‚๏ธ DataBase (1)
      • QUERY (1)
    • ๐Ÿ’ป Computer Science (12)
    • ๐ŸŒ WEB (62)
      • HTML,CSS (0)
      • Kotlien (1)
      • JAVA (20)
      • JavaScript (3)
      • Spring (16)
      • Thymeleaf (2)
      • Node.js (1)
      • React (2)
      • SETTING (3)
      • JPA (11)
    • ๐Ÿœ TESTING (3)
    • ๊ธฐํƒ€ (4)
    • ์—๋Ÿฌ๋ชจ์Œ (4)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋™์ ํ”„๋ก์‹œ
  • max_digest_length
  • ์ž๋ฐ”
  • JPA
  • ์ฝ”ํ…Œ
  • ์ธํ„ฐ๋ทฐ
  • 6์›”ํšŒ๊ณ 
  • ์ง๋ ฌํ™”
  • ํŒŒ์ด์ฌ
  • Gson null
  • ๊ธฐ์ดˆ
  • Setting
  • ArgumentCaptor
  • XSSFWorkbook
  • ํšŒ๊ณ 
  • null์ œ์™ธ
  • ๊ฐœ๋ฐœ์ž
  • Java
  • Spring
  • rdsํŒŒ๋ผ๋ฏธํ„ฐ
  • enum
  • ์„œ๋น„์Šคํ…Œ์ŠคํŠธ
  • ๋ฐฑ์ค€
  • ๊ฐœ๋ฐœ์žํšŒ๊ณ 
  • ๋ฉ”์„œ๋“œํ…Œ์ŠคํŠธ
  • Til
  • QueryDSL
  • spring-boot
  • JWT

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.1
์• ์ •์“ฐ
Mapper Interface?
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.