๋ฉด์ ๋ณด๊ธฐ ์ํด ๊ณผ์ ๋ฅผ ํด์ผ ํ๋ค.
ํ๋ก์ ํธ๋ฅผ ํ์ผ์ ๋ฐ์๋๋ฐ ๊ณ์ ๊ตฌํํด์ค๋ ๊ตฌ์กฐ์๋ ๋ง์ด ๋ฌ๋ผ์ ์๊ฐ์ ๋ง์ด ์ผ๋ค.
ํ์ง๋ง ์ญ์๋ ์ธํฐ๋ท์ ์์ธํ ๋ณด๊ณ ์์ฒญ๋ ์ํ์ฐฉ์ค๋ฅผ ํ ํ์ ์ ์ํ ์ ์์๋ค.
์ธ์ ๋ค์ ์ธ ์ ์์์ง ๋ชฐ๋ผ ๊ธฐ๋กํด ๋๊ธฐ๋ก ํ๋ค.
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 |