새 프로젝트 만들기
버전 세팅
컨트롤러의 리퀘스트 등의 기능은 안드로이드나 네이티브 등에서는 변경된다.
데이터베이스와 컨트롤러는 재활용성이 없다
서비스는 스프링과 자바를 쓰는한 계속 재활용 가능
-> 계층을 더 나누자 : MyBatis
쿼리문과 DAO의 자바코드 분리!
이상적으로는 데이터베이스 담당자는 자바코드 없이 데이터베이스만
XML만 복사하면 다른 언어에서도 사용가능
마이베티스는 자바에서 주로 쓰지만 약간의 연동을 거쳐 다른 언어에도 사용 가능
메세지 CRUD
component 스캔 범위 controller 밖에도 하도록
라이브러리 추가
ojdbc6
dbcp
스프링jdbc에 의존성
<!-- DB Related -->
<dependency>
<groupId>oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.7.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<repositories>
<repository>
<id>OJDBC6 Repo</id>
<url>http://www.datanucleus.org/downloads/maven2/</url>
</repository>
</repositories>
<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>
bean 추가
프로퍼티로 세팅
- 의존성 주입
- mapperLocations : xml 문서 위치
<?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 https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="kh"/>
<property name="password" value="kh"/>
<property name="initialSize" value="30"/>
</bean>
<bean id ="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:/mappers/*-mapper.xml/"></property>
</bean>
</beans>
편의성을 위한 플러그인 설치
namespace 변경
쿼리문 작성시 ; 붙이지 않는다
?,? 대신에
어떤 xml의 기능을 쓰고 싶은지 인자값에 넣어줘야 함
전달된 dto의 dto.getName 과 동일한 기능 #{name}
EL 표현과 유사 ${name}하지만 #을 붙이는 경우 해당 값에 따옴표로 둘러짐
즉 문자열 처럼 따옴표가 필요한 경우 #을 쓰는것이 편하다
서버 가동
'디지털 컨버전스 > Spring' 카테고리의 다른 글
[Spring Framework] MyBatis - select (0) | 2020.06.09 |
---|---|
[Spring Framework] MyBatis 에러 (0) | 2020.06.09 |
[Spring Framework] 정리 (0) | 2020.06.08 |
[Spring Framework] 댓글 (0) | 2020.06.08 |
[Spring Framework] 파일 다운로드 (0) | 2020.06.08 |