MyBatis - µ¥ÀÌÅÍ °¡Á®¿À´Â ¹æ¹ýµé
1. selectOne
SqlSessionÀÇ selectOne ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù.
selectOne ¸Þ¼Òµå´Â ÇϳªÀÇ °ª¸¸ °¡Á®¿Ã °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
ù¹ø° ¸Å°³º¯¼ö´Â mapperÀÇ namespace . select ű×ÀÇ id °ªÀ» ³Ö¾îÁØ´Ù.
µÎ¹ø° ¸Å°³º¯¼ö´Â Object Çü½ÄÀ¸·Î º¯¼ö¸¦ ³Ö¾îÁØ´Ù. (¿É¼Ç)
String name = session.selectOne("student.selectName", studentNo);
mapper ¿¡¼´Â ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù
<select id="selectName" parameterType="_int" resultType="string">
SELECT STUDENT_NAME FROM STUDENT WHERE STUDENT_NO = #{studentNo}
</select>
parameterTypeÀº ÆĶó¹ÌÅÍÀÇ Å¸ÀÔÀ̸ç resultType Àº ¹Ýȯ °ªÀÇ Å¸ÀÔÀÌ´Ù.
2. µ¥ÀÌÅ͸¦ °´Ã¼·Î ¹Þ±â (as »ç¿ë)
<select id="selectOne" parameterType="_int" resultType="student">
SELECT student_no as studentNo, student_name as studentName, student_tel as studentTel FROM STUDENT WHERE STUDENT_NO = #{studentNo}
</select>
µ¥ÀÌÅͺ£À̽º¿¡¼ µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¶§ ÀúÀåÇÒ °´Ã¼ÀÇ ¼Ó¼º À̸§°ú °°µµ·Ï as ¸¦ ÀÌ¿ëÇÏ¿© º°ÄªÀ» ÁÖ´Â ¹æ¹ýÀÌ´Ù.
°´Ã¼¿Í µ¿ÀÏÇÏ°Ô Àû¾úÀ» °æ¿ì °´Ã¼·Î Á¤º¸°¡ ¾Ë¾Æ¼ ÀúÀåµÈ´Ù.
resultType ¿¡ student ¶ó°í ¹Ù·Î ÀÔ·ÂÇÒ ¼ö ÀÖ´Â °ÍÀº mybatis-config.xml ¿¡ typeAlias ¸¦ ³Ö¾îÁÖ¾ú±â ¶§¹®ÀÌ´Ù. (ÀÌ ±ÛÀ» Âü°í)
3. result map À¸·Î ¸ÅÇÎÇϱâ
<select id="selectOneAjax_" parameterType="_int" resultMap="selectMap">
SELECT * FROM STUDENT WHERE STUDENT_NO = #{studentNo}
</select>
resultMap ¿¡´Â »ç¿ëÇÒ rersultMapÀÇ id °ªÀ» ³Ö¾îÁØ´Ù.
resultMapÀ» ¸¸µé¾î º¸ÀÚ.
mapper ¿¡¼ resultMap ű׸¦ »ý¼ºÇÑ ÈÄ
resultMap ÅÂ±× ¾È¿¡ result ű׷Πµ¥ÀÌÅͺ£À̽ºÀÇ Ä÷³°ú ÇÁ·ÎÆÛƼ¸¦ ¸ÅÇνÃŲ´Ù.
ÇÁ·ÎÆÛƼ´Â °´Ã¼ ¼Ó¼ºÀÇ À̸§À» ³Ö¾îÁØ´Ù.
<resultMap type="student" id="selectMap">
<result column="student_no" property="studentNo"/>
<result column="student_name" property="studentName"/>
<result column="student_tel" property="studentTel"/>
</resultMap>
resultMap ÀÇ type Àº Ŭ·¡½º ¸íÀ» ³Ö¾îÁØ´Ù.
as¸¦ »ç¿ëÇÏÁö ¾Ê°í °´Ã¼·Î µ¥ÀÌÅ͸¦ ¹Þ¾Æ¿Ã ¼ö ÀÖ´Ù.
4. result map ¿¡¼ hashMap À¸·Î °¡Á®¿À±â
ÀÌ ¹æ¹ýÀº ¹Ýȯ °ªÀÌ Map À¸·Î ³ª¿Â´Ù.
<select id="selectOneAjax_" parameterType="_int" resultMap="selectMap">
SELECT * FROM STUDENT WHERE STUDENT_NO = #{studentNo}
</select>
select ű״ µ¿ÀÏÇÏÁö¸¸ resultMap űװ¡ ´Ü¼øÇØÁø´Ù.<resultMap type="hashMap" id="selectMap"></resultMap>
resultMapÀÇ type¿¡ hashMapÀ» ³Ö¾îÁÖ°í id °ªÀ» Á¤ÇÏ¸é ³¡ÀÌ´Ù.
Map À¸·Î ¹Ýȯ µÇ´Âµ¥ key °ªÀÌ µ¥ÀÌÅͺ£À̽º Ä÷³ ¸í°ú µ¿ÀÏÇØÁø´Ù.
µû¶ó¼ ¹ÝȯµÈ °ªÀ» jsp ¿¡¼ »ç¿ëÇÒ °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ key °ªÀ» ´ë¹®ÀÚ·Î Àû¾î¾ß ÇÑ´Ù.
<p>Çлý¹øÈ£: ${result.STUDENT_NO}
<p>ÇлýÀ̸§: ${result.STUDENT_NAME}
<p>ÀüȹøÈ£: ${result.STUDENT_TEL}
5. List·Î µ¥ÀÌÅÍ ¹Þ±â (selectList)
SqlSession ÀÇ selectList ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÑ´Ù.List<Student> list = session.selectList("student.selectList");
mapper¿¡¼µµ Çϳª¸¸ ¹ÞÀ» ¶§¿Í ´Ù¸¦ °Í ¾ø´Ù.
<select id="selectList" resultType="student">
SELECT student_no as studentNo, student_name as studentName, student_tel as studentTel, student_email as studentEmail, student_addr as studentAddress, reg_date as redDate FROM STUDENT
</select>
6. List¸¦ MapÀ¸·Î ¹Þ±â
°´Ã¼(vo)¸¦ »ç¿ëÇÏÁö ¾Ê°í µ¥ÀÌÅ͸¦ ¹ÞÀ» ¼ö ÀÖ´Ù.List<Map<String, String>> list = session.selectList("student.selectMap");
À§¿¡¼ »ç¿ëÇÑ resultMapÀ» ÀÌ¿ëÇÑ´Ù.
<select id="selectMap" resultMap="selectMapList">
SELECT * FROM STUDENT
</select>
<resultMap type="map" id="selectMapList">
<result column="student_no" property="studentNo"/>
<result column="student_name" property="studentName"/>
<result column="student_tel" property="studentTel"/>
</resultMap>
Ãâó: https://sinna94.tistory.com/entry/¸¶À̹ÙƼ½º-µ¥ÀÌÅÍ-°¡Á®¿À´Â-¹æ¹ý?category=696828 [Chungs]
1. selectOne
SqlSessionÀÇ selectOne ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù.
selectOne ¸Þ¼Òµå´Â ÇϳªÀÇ °ª¸¸ °¡Á®¿Ã °æ¿ì¿¡ »ç¿ëÇÑ´Ù.
ù¹ø° ¸Å°³º¯¼ö´Â mapperÀÇ namespace . select ű×ÀÇ id °ªÀ» ³Ö¾îÁØ´Ù.
µÎ¹ø° ¸Å°³º¯¼ö´Â Object Çü½ÄÀ¸·Î º¯¼ö¸¦ ³Ö¾îÁØ´Ù. (¿É¼Ç)
String name = session.selectOne("student.selectName", studentNo);
mapper ¿¡¼´Â ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù
<select id="selectName" parameterType="_int" resultType="string">
SELECT STUDENT_NAME FROM STUDENT WHERE STUDENT_NO = #{studentNo}
</select>
parameterTypeÀº ÆĶó¹ÌÅÍÀÇ Å¸ÀÔÀ̸ç resultType Àº ¹Ýȯ °ªÀÇ Å¸ÀÔÀÌ´Ù.
2. µ¥ÀÌÅ͸¦ °´Ã¼·Î ¹Þ±â (as »ç¿ë)
<select id="selectOne" parameterType="_int" resultType="student">
SELECT student_no as studentNo, student_name as studentName, student_tel as studentTel FROM STUDENT WHERE STUDENT_NO = #{studentNo}
</select>
µ¥ÀÌÅͺ£À̽º¿¡¼ µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¶§ ÀúÀåÇÒ °´Ã¼ÀÇ ¼Ó¼º À̸§°ú °°µµ·Ï as ¸¦ ÀÌ¿ëÇÏ¿© º°ÄªÀ» ÁÖ´Â ¹æ¹ýÀÌ´Ù.
°´Ã¼¿Í µ¿ÀÏÇÏ°Ô Àû¾úÀ» °æ¿ì °´Ã¼·Î Á¤º¸°¡ ¾Ë¾Æ¼ ÀúÀåµÈ´Ù.
resultType ¿¡ student ¶ó°í ¹Ù·Î ÀÔ·ÂÇÒ ¼ö ÀÖ´Â °ÍÀº mybatis-config.xml ¿¡ typeAlias ¸¦ ³Ö¾îÁÖ¾ú±â ¶§¹®ÀÌ´Ù. (ÀÌ ±ÛÀ» Âü°í)
3. result map À¸·Î ¸ÅÇÎÇϱâ
<select id="selectOneAjax_" parameterType="_int" resultMap="selectMap">
SELECT * FROM STUDENT WHERE STUDENT_NO = #{studentNo}
</select>
resultMap ¿¡´Â »ç¿ëÇÒ rersultMapÀÇ id °ªÀ» ³Ö¾îÁØ´Ù.
resultMapÀ» ¸¸µé¾î º¸ÀÚ.
mapper ¿¡¼ resultMap ű׸¦ »ý¼ºÇÑ ÈÄ
resultMap ÅÂ±× ¾È¿¡ result ű׷Πµ¥ÀÌÅͺ£À̽ºÀÇ Ä÷³°ú ÇÁ·ÎÆÛƼ¸¦ ¸ÅÇνÃŲ´Ù.
ÇÁ·ÎÆÛƼ´Â °´Ã¼ ¼Ó¼ºÀÇ À̸§À» ³Ö¾îÁØ´Ù.
<resultMap type="student" id="selectMap">
<result column="student_no" property="studentNo"/>
<result column="student_name" property="studentName"/>
<result column="student_tel" property="studentTel"/>
</resultMap>
resultMap ÀÇ type Àº Ŭ·¡½º ¸íÀ» ³Ö¾îÁØ´Ù.
as¸¦ »ç¿ëÇÏÁö ¾Ê°í °´Ã¼·Î µ¥ÀÌÅ͸¦ ¹Þ¾Æ¿Ã ¼ö ÀÖ´Ù.
4. result map ¿¡¼ hashMap À¸·Î °¡Á®¿À±â
ÀÌ ¹æ¹ýÀº ¹Ýȯ °ªÀÌ Map À¸·Î ³ª¿Â´Ù.
<select id="selectOneAjax_" parameterType="_int" resultMap="selectMap">
SELECT * FROM STUDENT WHERE STUDENT_NO = #{studentNo}
</select>
select ű״ µ¿ÀÏÇÏÁö¸¸ resultMap űװ¡ ´Ü¼øÇØÁø´Ù.<resultMap type="hashMap" id="selectMap"></resultMap>
resultMapÀÇ type¿¡ hashMapÀ» ³Ö¾îÁÖ°í id °ªÀ» Á¤ÇÏ¸é ³¡ÀÌ´Ù.
Map À¸·Î ¹Ýȯ µÇ´Âµ¥ key °ªÀÌ µ¥ÀÌÅͺ£À̽º Ä÷³ ¸í°ú µ¿ÀÏÇØÁø´Ù.
µû¶ó¼ ¹ÝȯµÈ °ªÀ» jsp ¿¡¼ »ç¿ëÇÒ °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ key °ªÀ» ´ë¹®ÀÚ·Î Àû¾î¾ß ÇÑ´Ù.
<p>Çлý¹øÈ£: ${result.STUDENT_NO}
<p>ÇлýÀ̸§: ${result.STUDENT_NAME}
<p>ÀüȹøÈ£: ${result.STUDENT_TEL}
5. List·Î µ¥ÀÌÅÍ ¹Þ±â (selectList)
SqlSession ÀÇ selectList ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÑ´Ù.List<Student> list = session.selectList("student.selectList");
mapper¿¡¼µµ Çϳª¸¸ ¹ÞÀ» ¶§¿Í ´Ù¸¦ °Í ¾ø´Ù.
<select id="selectList" resultType="student">
SELECT student_no as studentNo, student_name as studentName, student_tel as studentTel, student_email as studentEmail, student_addr as studentAddress, reg_date as redDate FROM STUDENT
</select>
6. List¸¦ MapÀ¸·Î ¹Þ±â
°´Ã¼(vo)¸¦ »ç¿ëÇÏÁö ¾Ê°í µ¥ÀÌÅ͸¦ ¹ÞÀ» ¼ö ÀÖ´Ù.List<Map<String, String>> list = session.selectList("student.selectMap");
À§¿¡¼ »ç¿ëÇÑ resultMapÀ» ÀÌ¿ëÇÑ´Ù.
<select id="selectMap" resultMap="selectMapList">
SELECT * FROM STUDENT
</select>
<resultMap type="map" id="selectMapList">
<result column="student_no" property="studentNo"/>
<result column="student_name" property="studentName"/>
<result column="student_tel" property="studentTel"/>
</resultMap>
Ãâó: https://sinna94.tistory.com/entry/¸¶À̹ÙƼ½º-µ¥ÀÌÅÍ-°¡Á®¿À´Â-¹æ¹ý?category=696828 [Chungs]