카테고리 없음

[Project][Spring] mybatis로 db연결 및 초기 설정

321 2021. 2. 22. 07:05

간단한 게시판 DB생성

 

 

servlet-context.xml 파일

web.xml파일

pom.xml파일 위치 확인

 

 

위의 체크한 부분에서 하나씩 수정해 준다.

 

 

 

1. servlet-context.xml에

bean 등록

<beans:bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" name="dataSource">
  <beans:property value="oracle.jdbc.driver.OracleDriver" name="driverClassName"/>
  <beans:property value="jdbc:oracle:thin:@localhost:1521:xe" name="url"/>
  <beans:property value="human" name="username"/>
  <beans:property value="human" name="password"/>
</beans:bean>

<beans:bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
<beans:property name="dataSource" ref="dataSource"/>
<beans:property value="classpath:com/human/mybatis/dao/mapper/*.xml" name="mapperLocations"/>
</beans:bean>

<beans:bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
  <beans:constructor-arg index="0" ref="sqlSessionFactory" />
</beans:bean>

 

2. pom.xml에서 

mybatis 디펜던시 추가

 

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>

 

 

3. web.xml에서 한글 인코딩 filter추가

 

<filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

src/main/java밑에 아래와 같은 파일 생성,

 

각 파일 내용 확인해 보면,

 

1. HomeController.java

 

 

 

2.IDao.java

*인터페이스란? 반복되는 기능을 구현하는 메서드들을 선언해 주는 것, 구현부는 각 클래스에서 나타낸다.

 

 

3. IDao.xml

2번의 인터페이스를 구현하는 구현부

  • 특이하게 implements를 xml파일로 했군!

 

 

4. ContentDto.java

dto파일

 

 

 

 

실행

 

 

적절한 jsp파일 만들고(생략) 서버에서 돌린 뒤 주소창에 주소 치면 db의 내용이 나온다.

list 말고도 write나 delete도 IDao.xml에 비슷한 방식으로 추가하고, jsp파일을 만들어 구현하면 sql문이 작동되면서 실행된다.

 

 

 

 

+)

주소를 mybatis/list로 한 이유는 (HomeController에서 그렇게 설정했거나)

Server-Modules에서 기본주소를 mybatis라고 설정했기 때문

 

server-modules에서 드래그된 부분을 알맞게 고쳐주면 됨( / 만 남겨놔도 된다)