๋ง์ด๋ฐํฐ์ค์์ ์ ๊ณตํ๋ SqlSession ํด๋์ค์์๋ CRUD๋ฅผ ์ํ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ํ์ ์ธ select ๊ด๋ จ ๋ฉ์๋๋ ์๋ ํ ์ด๋ธ๊ณผ ๊ฐ์ต๋๋ค.
๋ฉ์๋ | ๊ธฐ๋ฅ |
List selectList(query_id) | id์ ๋ํ select๋ฌธ์ ์คํํ ํ ๋ ์ฝ๋๋ฅผ List๋ก ๋ฐํํฉ๋๋ค. |
List selectList(query_id, '์กฐ๊ฑด') | id์ ๋ํ select๋ฌธ์ ์คํํ๋ฉด์ ์กฐ๊ฑด(์ฟผ๋ฆฌ๋ฌธ์์ ์ฌ์ฉํ ์ธ์)๋ฅผ ์ ๋ฌํฉ๋๋ค. |
T selectOne(query_id) | id์ ๋ํ select๋ฌธ์ ์คํํ ํ ํ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์ง์ ํ ํ์ ์ผ๋ก ๋ฐํํฉ๋๋ค. |
T selectOne(query_id, '์กฐ๊ฑด') | id์ ๋ํ select๋ฌธ์ ์คํํ๋ฉด์ ์กฐ๊ฑด(์ฟผ๋ฆฌ๋ฌธ์์ ์ฌ์ฉํ ์ธ์)๋ฅผ ์ ๋ฌํฉ๋๋ค. |
์ญ์ ์ดํดํ๋๋ฐ ์์๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ๋งํผ ์ข์ ๊ฒ์ ์์ต๋๋ค.
selectOne ์์
์์๋ก ๋ง๋ ํ ์ด๋ธ์์ ID ๊ฐ์ ๊ฐ์ ธ์ค๊ฒ ์ต๋๋ค.
<!-- ๋ค์์คํ์ด์ค๋ฅผ ์ ํด์ค๋๋ค. ๋ค์์คํ์ด์ค๋ ์ค๋ณต๋๋ฉด ์๋ฉ๋๋ค. -->
<mapper namespace="mapper.member">
<select id="selectMberId" resultType="String">
<!-- <![CDATA[...]] ์ฟผ๋ฆฌ๋ฌธ์ >,< ๋ฑ์ ๊ตฌ๋ถํด์ฃผ๊ธฐ ์ํด-->
<![CDATA[
SELECT
ID
FROM TEST_TABLE
WHERE SEQ = 1
]]>
</select>
</mapper>
์์ ๊ฐ์ด xml ํ์ผ์์ ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑํด์ค๋๋ค.
public String selectMberId() {
sqlMapper = getInstance();
SqlSession session = sqlMapper.openSession();
String id = session.selectOne("mapper.member.selectMberId");
return id;
}
session.selectOne ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ์ฟผ๋ฆฌ๋ฌธ์ ํด๋นํ๋ id ๊ฐ์ ๊ฐ์ ธ์ต๋๋ค. ์ด๋ xml์์ ํด๋น id์ ๋ํ resultType์ ๋ฐ์ดํฐํ์ด ์๋ก ๊ฐ์์ผํฉ๋๋ค. id๋ String์ด๋ฏ๋ก ๋๋ค String์ผ๋ก ํด์ค๋๋ค.
id ๊ฐ์ผ๋ก "๊น๋ณ์ค"์ ๋ฐ์ ๊ฑธ ํ์ธํ์ค ์ ์์ต๋๋ค.
selectOne ์กฐ๊ฑด ์์
์ด๋ฒ์๋ ์ธ์๋ก ์กฐ๊ฑด์ ํ์๋ก ํ๋ selectOne ์์๋ฅผ ๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
<!-- ๋ค์์คํ์ด์ค๋ฅผ ์ ํด์ค๋๋ค. ๋ค์์คํ์ด์ค๋ ์ค๋ณต๋๋ฉด ์๋ฉ๋๋ค. -->
<mapper namespace="mapper.member">
<select id="selectMberId" parameterType="int" resultType="String">
<!-- <![CDATA[...]] ์ฟผ๋ฆฌ๋ฌธ์ >,< ๋ฑ์ ๊ตฌ๋ถํด์ฃผ๊ธฐ ์ํด-->
<![CDATA[
SELECT
ID
FROM TEST_TABLE
WHERE SEQ = #{seq}
]]>
</select>
</mapper>
์กฐ๊ฑด ์๋ selectOne๊ณผ ๋ค๋ฅด๊ฒ select์ ์์ฑ์ผ๋ก parameterType ์ด๋ผ๋ ๊ฒ์ด ์์ต๋๋ค. selectOne์ ์กฐ๊ฑด์ผ๋ก ๋์ด์ค๋ ๊ฐ์ ๋ฐ์ดํฐํ์ ์ ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค.
public String selectMberId() {
sqlMapper = getInstance();
SqlSession session = sqlMapper.openSession();
int seq = 1;
String id = session.selectOne("mapper.member.selectMberId", seq);
return id;
}
selectOne ๋ค์ 1 ์ด๋ผ๋ ์ธ์๊ฐ ์์ต๋๋ค. ์ฌ๊ธฐ์ 1์ Integer ์ด๋ฏ๋ก parameterType์ int๋ฅผ ์ ์ด์ค๊ฒ๋๋ค. ์กฐ๊ฑด์ด ๋ฌธ์์ด์ด๋ฉด String, Map์ด๋ฉด Map์ผ๋ก ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. resultType ๋ํ DAO์ ์ ๋ฌํด์ฃผ๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์ด๋ฏ๋ก ์ ๋ฌ๋๋ ๊ฐ ๋ฐ์ดํฐํ์ ๋ฐ๋ผ ์ ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค.
๊ฒฐ๊ณผ๊ฐ ์ ์ถ๋ ฅ๋ ๊ฒ์ ๋ณด์ค์ ์์ต๋๋ค.
selectList๋ selectOne๊ณผ ๋๊ฐ์ต๋๋ค. ํ์ง๋ง ๋ฐํ๋๋ ๊ฐ์ด List์ธ๊ฒ ๋ฟ์ ๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋ List ์ปฌ๋ ์ ์ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
์์ฝ
- selectOne์ ๋ ์ฝ๋ ํ๋, selectList์ ์ฌ๋ฌ ๋ ์ฝ๋
- parameterType์ DAO์์ DB๋ก ์ ๋ฌ๋๋ ๊ฐ์ ๋ฐ์ดํฐํ
- resultType์ DB์์ DAO๋ก ์ ๋ฌ๋๋ ๊ฐ์ ๋ฐ์ดํฐํ
'...' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์๋ฐ List ๋ฐ๋ณต๋ฌธ (ํฅ์๋ ๋ฐ๋ณต๋ฌธ) (0) | 2021.01.10 |
---|---|
[Oracle] ์ค๋ผํด seq ์ต๋๊ฐ ๊ตฌํ๊ธฐ (0) | 2021.01.08 |
[Java] null ๊ณผ "" ์ฐจ์ด๋ ๋ญ๊น? (0) | 2021.01.07 |
[JS] javascript:void(0) ์ฌ์ฉํ๋ ์ด์ (0) | 2021.01.07 |
[MyBatis] MyBatis ์์ํ๊ธฐ (0) | 2021.01.06 |