IBATIS/myBatis
2022.05.02 / 15:52

MyBatis ½ÃÀÛÇϱâ (±âº» ¼¼ÆÃÇϱâ)

ÄÚÄÚ·Î
Ãßõ ¼ö 129
MyBatis ½ÃÀÛÇϱâ (±âº» ¼¼ÆÃÇϱâ)
MyBatis 2019. 2. 2. 19:55

Mybatis¶õ?

¸¶À̹ÙƼ½º´Â °³¹ßÀÚ°¡ ÁöÁ¤ÇÑ SQl, ÀúÀå ÇÁ·Î½ÃÀú, ¸î °¡Áö °í±Þ ¸ÅÇÎÀ» Áö¿øÇÏ´Â ¿µ¼Ó¼º ÇÁ·¹ÀÓ¿öÅ©ÀÔ´Ï´Ù.
JDBC·Î ó¸®ÇÏ´Â »ó´ç ºÎºÐÀÇ ÄÚµå¿Í ÆĶó¹ÌÅÍ ¼³Á¤ ¹× °á°ú ¸ÅÇÎÀ» ´ë½Å ÇØÁÝ´Ï´Ù.

Mybatis ½ÃÀÛÇϱâ

mybatis.jar ÆÄÀÏ ´Ù¿î·Îµå

¸¶À̹ÙƼ½º¸¦ »ç¿ëÇϱâ À§Çؼ­´Â mybatis.jar ÆÄÀÏÀ» ¶óÀ̺귯¸®¿¡ ³Ö¾îÁà¾ß ÇÕ´Ï´Ù.
mybatis.jar ¸¦ µé¾î°¡¼­ mybatis-3.5.0.zip À» ´Ù¿î¹ÞÀÚ(19.2.2 ±âÁØ)

¾ÐÃàÆÄÀÏ ³»¿¡ ÀÖ´Â mybatis-3.5.0.jar ÆÄÀÏÀ» ÇÁ·ÎÁ§Æ® ³»¿¡ WEB-INF/lib Æú´õ¿¡ ³Ö¾îÁÝ´Ï´Ù.

XML catalog Ãß°¡

ÀÌŬ¸³½º¿¡¼­ Window - preferences - xml - xml catalog¿¡¼­ User Specified Entries¸¦ ´©¸£°í Add ¹öÆ°À» ´©¸¨´Ï´Ù.
config¿¡ ´ëÇÑ ¼³Á¤ÀÔ´Ï´Ù.

  location : http://mybatis.org/dtd/mybatis-3-config.dtd
  key type : public ID
  key : -//mybatis.org//DTD Config 3.0//EN

ÇØ´çÇÏ´Â Ä­¿¡ À§¿Í °°ÀÌ ³»¿ëÀ» Àû¾îÁØ ÈÄ OK ¹öÆ°À» ´©¸¨´Ï´Ù.

¿Ï·áÇÑ ÈÄ ´Ù½Ã Add ¹öÆ°À» ´©¸¨´Ï´Ù.
À̹ø¿¡´Â mapper ¿¡ ´ëÇÑ ¼³Á¤ÀÔ´Ï´Ù.

  location : http://mybatis.org/dtd/mybatis-3-mapper.dtd
  key type : public ID
  key : -//mybatis.org/DTD Mapper 3.0//EN

À§¿Í °°ÀÌ Àû¾îÁØ ÈÄ OK ¹öÆ°À» ´©¸¨´Ï´Ù


µÎ °¡Áö°¡ µî·ÏµÈ °ÍÀÌ È®ÀÎµÈ ÈÄ¿¡ Apply and Close ¹öÆ°À» ´­·¯ÁÝ´Ï´Ù.

mybatis-config XML ÆÄÀÏ »ý¼º

´ÙÀ½Àº xml ÆÄÀÏÀ» »ý¼ºÇØÁÝ´Ï´Ù.
ÇÁ·ÎÁ§Æ® ³»¿¡ Java Resources¿¡ ¿ìŬ¸¯ ÈÄ New - Source Folder ¸¦ ¼±ÅÃÇÕ´Ï´Ù.

Project name Àº Browse ¹öÆ°À» ´­·¯¼­ ÇØ´ç ÇÁ·ÎÁ§Æ® À̸§À» ¼±ÅÃÇØÁÖ°í
Folder name ¿¡ resource ¸¦ ³Ö¾îÁØ ÈÄ finish ¹öÆ°À» ´©¸¨´Ï´Ù.

»ý¼ºµÈ resource Æú´õ¿¡ mybatis-config.xml ÆÄÀÏÀ» ¸¸µé¾îÁÖ°Ú½À´Ï´Ù.

resource Æú´õ¿¡¼­ ¿ìŬ¸¯ ÈÄ New - other¸¦ ¼±ÅÃÇÕ´Ï´Ù.

xml·Î °Ë»öÇϸé XML File ÀÌ ³ª¿É´Ï´Ù. ¼±ÅÃÇսôÙ.


mybatis-config.xmlÀ̶ó°í À̸§À» Àû¾îÁØ µÚ Next ¹öÆ°À» ´©¸¥ ÈÄ¿¡


¸Ç À§¿¡ DTD ÆÄÀÏÀ» ¼±ÅÂÇÑ ÈÄ Next ¸¦ ´©¸¨´Ï´Ù


óÀ½¿¡ ¾Æ¹«°Íµµ ¾ø´Ù°í ´çȲÇÏÁö ¸»°í XML Catalog entry ¸¦ ¼±ÅÃÇϸé XMl Catalog°¡ »ý±é´Ï´Ù.
¾Æ±î ¸¸µé¾îÁØ DTD config¸¦ ¼±ÅÃÇÕ´Ï´Ù.(À̹ÌÁö »ó ¸Ç À§)


´ÙÀ½ È­¸é¿¡¼­ À̹ÌÁöó·³ µÇ¾îÀÖ´Ù¸é Àß µî·ÏµÈ °ÍÀÔ´Ï´Ù.(¾Æ´Ï¶ó¸é ¿ÀŸ¸¦ ã¾Æº¸¼¼¿ä)
Finish ¸¦ ´©¸¨´Ï´Ù.

ÀÌÁ¦ mybaits-config.xml ÆÄÀÏÀ» ¿­°í DBÁ¤º¸¸¦ ³Ö¾îÁÙ°Ì´Ï´Ù.
ÅÂ±× ¾È¿¡ ´ÙÀ½°ú °°ÀÌ Àû¾îÁÝ´Ï´Ù.

  <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
                <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
                <property name="username" value="[DB°èÁ¤À̸§]"/>
                <property name="password" value="[ºñ¹Ð¹øÈ£]"/>
            </dataSource>
        </environment>
        <mappers>
            <mapper resource="/mybatis/mapper/mybatis-mapper.xml"/>
        </mappers>
    </environments>

property nameÀº º¯°æÇÏ½Ã¸é ¾ÈµË´Ï´Ù.

environment id¸¦ ±¸ºÐÇÏ¿© ¿©·¯ °³ÀÇ DB¸¦ µî·ÏÇÒ ¼ö µµ ÀÖ½À´Ï´Ù.

SqlSessionTemplate ¸¸µé±â

common ÆÐÅ°Áö¸¦ ¸¸µé°í SqlSessionTemplate Ŭ·¡½º¸¦ ¸¸µé¾î ÁÝ´Ï´Ù.

    public static SqlSession getSession() {
        String resource = "/mybatis-config.xml";
        SqlSession session = null;
        try {
            InputStream is= Resources.getResourceAsStream(resource);
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            SqlSessionFactory factory = builder.build(is);
            session = factory.openSession(false);
        }catch(IOException e) {
            e.printStackTrace();
        }

        return session;
    }

À§ÀÇ ÄÚµåó·³ getSession ¸Þ¼Òµå¸¦ ¸¸µì´Ï´Ù.
getSession ¸Þ¼Òµå´Â
À§¿¡¼­ ¸¸µç mybatis-config.xml ÆÄÀÏÀ» °¡Á®¿Í¼­ SqlSessionÀ» ¸¸µå´Â ¸Þ¼ÒµåÀÔ´Ï´Ù.
SqlSession ¾È¿¡´Â CRUD°¡ °¡´ÉÇÑ ¸Þ¼ÒµåµéÀÌ µé¾îÀÖ½À´Ï´Ù.

ÀÌÁ¦ mybatis¸¦ »ç¿ëÇϱâ À§ÇÑ ±âº»ÀûÀÎ ¼¼ÆÃÀº ³¡ÀÔ´Ï´Ù.
´ÙÀ½¿¡´Â mapper¸¦ ¸¸µé°í µ¥ÀÌÅ͸¦ »ðÀÔÇغ¸°Ú½À´Ï´Ù.



Ãâó: https://sinna94.tistory.com/entry/Mybatis-½ÃÀÛÇϱâ?category=696828 [Chungs]