IBATIS/myBatis
2022.05.02 / 15:56

MyBatis - µ¥ÀÌÅÍ °¡Á®¿À´Â ¹æ¹ýµé

ÄÚÄÚ·Î
Ãßõ ¼ö 109
MyBatis - µ¥ÀÌÅÍ °¡Á®¿À´Â ¹æ¹ýµé
MyBatis 2019. 2. 8. 14:19

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]
MyBatis 2019. 2. 8. 14:19

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]