ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring + MyBatis 연동방법
    Web (Spring ) 2016. 8. 4. 00:09

    참조 블로그 http://addio3305.tistory.com/62




    pom.xml


    MyBatis 의존성 추가


    /* 자신의 datasource에 맞게 필요한 Dependency도 맞춰줘야한다. */


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.2.2</version>
    </dependency>
     
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.2.0</version>
    </dependency>
     
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${org.springframework-version}</version>
    </dependency>
     
    <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.4</version>
    </dependency>
    cs



    MySql


    1
    2
    3
    4
    5
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.31</version>
    </dependency>
    cs


    Oracle


    1
    2
    3
    4
    5
    <dependency>
            <groupId>ojdbc</groupId>
            <artifactId>ojdbc</artifactId>
            <version>14</version>
    </dependency>
    cs

    ojdbc.jar 파일을 검색할 경우, 다음과 같은 dependency가 나오는데 실제로는 다운받을수가 없다.


    1
    2
    3
    4
    5
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc14</artifactId>
        <version>10.2.0.4.0</version>
    </dependency>
    cs

    따라서 다음의 dependency로 바꿔준다.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <repositories>
        <repository>
            <id>mvn2</id>
            <url>http://repo1.maven.org/maven2/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
         
        <repository>
             <id>oracle</id>
             <name>ORACLE JDBC Repository</name>
             <url>http://mesir.googlecode.com/svn/trunk/mavenrepo</url>
        </repository> 
    </repositories>
    cs

    ojdbc를 다운받을 수 있는 Respository를 수동으로 등록한 것이다.


    context-datsource.xml(Mysql)


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                            http://www.springframework.org/schema/jdbc  http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">
         
        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://주소/스키마"/>
            <property name="username" value="아이디"/>
            <property name="password" value="비밀번호"/>
        </bean>
    </beans>
    cs


    context-datsource.xml(Oracle)


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                            http://www.springframework.org/schema/jdbc  http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">
         
        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
            <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
            <property name="username" value="아이디"/>
            <property name="password" value="비밀번호"/>
        </bean>
    </beans>
    cs


    context-mapper.xml


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
     
        <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource" />
            <property name="mapperLocations" value="classpath:/mapper/**/*_SQL.xml" />
        </bean>
         
        <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
            <constructor-arg index="0" ref="sqlSession"/>
        </bean>  
    </beans>
    cs



    DAO 작성


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    public class AbstractDAO {
        protected Log log = LogFactory.getLog(AbstractDAO.class);
         
        @Autowired
        private SqlSessionTemplate sqlSession;
         
        protected void printQueryId(String queryId) {
            if(log.isDebugEnabled()){
                log.debug("\t QueryId  \t:  " + queryId);
            }
        }
         
        public Object insert(String queryId, Object params){
            printQueryId(queryId);
            return sqlSession.insert(queryId, params);
        }
         
        public Object update(String queryId, Object params){
            printQueryId(queryId);
            return sqlSession.update(queryId, params);
        }
         
        public Object delete(String queryId, Object params){
            printQueryId(queryId);
            return sqlSession.delete(queryId, params);
        }
         
        public Object selectOne(String queryId){
            printQueryId(queryId);
            return sqlSession.selectOne(queryId);
        }
         
        public Object selectOne(String queryId, Object params){
            printQueryId(queryId);
            return sqlSession.selectOne(queryId, params);
        }
         
        @SuppressWarnings("rawtypes")
        public List selectList(String queryId){
            printQueryId(queryId);
            return sqlSession.selectList(queryId);
        }
         
        @SuppressWarnings("rawtypes")
        public List selectList(String queryId, Object params){
            printQueryId(queryId);
            return sqlSession.selectList(queryId,params);
        }
    }
    cs




    'Web (Spring )' 카테고리의 다른 글

    [스프링시큐리티] DB를 사용한 로그인인증 & 권한 처리  (0) 2016.08.04
    Eclipse Theme 설정  (0) 2016.08.04
    Eclipse 주석 설정  (0) 2016.08.04
    [Hack] 개발 폰트  (0) 2016.08.03
    Spring MVC 초기설정  (0) 2016.08.03
Designed by Tistory.