๋กœ์ผ“๐Ÿพ
article thumbnail

 

๋งˆ์ด๋ฐ”ํ‹ฐ์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” 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๋กœ ์ „๋‹ฌ๋˜๋Š” ๊ฐ’์˜ ๋ฐ์ดํ„ฐํ˜•
profile on loading

Loading...