본문 바로가기

Spring

[Spring] MyBatis 기반 DB 연동 셋팅 및 연동

Servers > context.xml 파일에 해당 구문 추가

    <Resource name="jdbc/myoracle" auth="Container"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
              url="jdbc:oracle:thin:@127.0.0.1:1521:xe"
              username="scott" password="tiger" maxTotal="20" maxIdle="10"
              maxWaitMillis="-1"/>

 

src > main > webapp > WEB-INF > spring > appServlet > servlet-context.xml 파일에서

아래 구문 해당 위치에 붙여넣기 

 

   <!-- 
      JNDI 데이터 소스 객체 얻어오는 설정   
      Servers/context.xml 에 설정된 oracle 접속정보 가 있어야 된다. 
       
      <Resource name="jdbc/myoracle" auth="Container"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
              url="jdbc:oracle:thin:@127.0.0.1:1521:xe"
              username="scott" password="tiger" maxTotal="20" maxIdle="10"
              maxWaitMillis="-1"/>          
   -->
   
   <beans:bean id="dataSource" 
      class="org.springframework.jndi.JndiObjectFactoryBean">
      <beans:property name="jndiName" value="java:comp/env/jdbc/myoracle"/>
   </beans:bean>
   
   <!-- 
      위는 아래의 코드와 같다
      dataSource = new JndiObjectFactoryBean();
      dataSource.setJndiName("java:comp/env/jdbc/myoracle");
    -->
   
   
   <!-- 
      SqlSessionFactory 객체 
      Configuration.xml 문서가 어디에 있는지 알려야 한다. 
      value 에서 classpath: 은  src/main/resources 폴더를 가리킨다. 
      따라서  classpath:Configuration.xml 은  src/main/resources 폴더안에 존재 해야 한다. 
   -->
   <beans:bean id="sessionFactory" 
      class="org.mybatis.spring.SqlSessionFactoryBean">
      <beans:property name="dataSource" ref="dataSource"/>
      <beans:property name="configLocation" value="classpath:Configuration.xml"/>
   </beans:bean>
   <!-- 
      sessionFactory=new SqlSessionFactoryBean();
      sessionFactory.setDataSource(dataSource);
      sessionFactory.setConfigLocation("classpath:Configuration.xml");
    -->
   

   <!-- 
      SqlSession 인터페이스를 구현한 
      SqlSessionTemplate(SqlSession) 객체 
      Dao 가 의존하는 객체 
   -->
   <beans:bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
      <beans:constructor-arg name="sqlSessionFactory" 
         ref="sessionFactory"/>
   </beans:bean>
   
   
   
   <!-- 
      위의 bean 설정을 java code 로 환산 하면 아래와 같다 
      
      dataSource = new JndiObjectFactoryBean();
      dataSource.setJndiName("java:comp/env/jdbc/myoracle");
      
      sessionFactory=new SqlSessionFactoryBean();
      sessionFactory.setDataSource(dataSource);
      sessionFactory.setConfigLocation("classpath:xxx");
      
      new SqlSessionTemplate(sessionFactory);
    -->

 

 

src > main > resources > mapper(폴더생성) > MemberMapper.xml(생성) 해당 위치에 폴더와 xml 파일을 생성하고 

아래 내용 붙여넣기

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 

src > main > resources > mapper(폴더생성) > Configuration.xml (파일생성) 해당 위치에

아래 구문 붙여넣기

<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">

 

 

 

DB연결을 이용하여 member table의 list 가져오기

list.jsp
MemberController.java

com.gura.spring02.member.controller 패키지에 위치한 MemberController.java

MemberDao.java

com.gura.spring02.member.dao 패키지에 위치한 MemberDao.java

 

MemberDaoImpl.java

com.gura.spring02.member.dao 패키지에 위치한 MemberDaoImpl.java

 

src/main/resources > mapper > MemberMapper.xml 

DB 접속을 하여 실행할 SQL문을 작성

 

src/main/resources > Configuration.xml

SQL 문을 작성한 Mapper xml 문서가 어디에 있는지 목록을 작성

 

 

'Spring' 카테고리의 다른 글

[Spring] Controller 만들기  (0) 2023.06.19
[Spring] 프로젝트 기본 셋팅  (0) 2023.06.19
[Spring] 초기 설정  (0) 2023.06.16
[Spring] 설치 및 jdk, maven 환경변수 설정  (0) 2023.06.16