Mybatis Spring Legacy Project 생성
SpringMybatis
스프링 레가시 프로젝트 > Spring MVC Project 생성
com.increpas.db
DB 세팅
12C부터 사용자용 계정을 만들 때 c##을 붙여 만들어주어야 한다
=> 계정 룰 삭제
alter session set"_ORACLE_SCRIPT"=true;
user : spring01
password : spring
시스템 접속
conn/as sysdba
계정 생성
create user spring01 identified by spring;
유저 권한 생성
grant connect,resource to spring01;
table에 대한 입력, 수정, 삭제 권한 부여
alter user spring01 default tablespace users quota unlimited on users;
로그인
conn spring01/spring
샘플 테이블 생성
create table dept(
deptno number,
dname varchar2(20),
loc varchar2(50)
);
샘플 데이터 입력
INSERT INTO DEPT (DEPTNO, DNAME, LOC) VALUES ('1', '관리부', '101호');
INSERT INTO DEPT (DEPTNO, DNAME, LOC) VALUES ('2', '강사부', '201호');
INSERT INTO DEPT (DEPTNO, DNAME, LOC) VALUES ('3', '행정부', '202호');
mybatis사용을 위한 기본 패키지 세팅
src/main/java > resources > new > package
src/main/resources에 하위 2개 패키지 생성
config.spring.context
config.spring.mvc
root-context.xml 파일을
config.spring.context 패키지로 복사한 후
context-1-datasource.xml 로이름 변경
servlet-context.xml 파일을
config.spring.mvc 패키지로 복사
servlet-context.xml 파일명 변경
context 복사 파일 datasource/mybatis/dao/service 생성
servlet 복사 파일 생성
config.mybatis 패키지 생성
config.mybatis.mapper 패키지 생성
config.maybatis
config.mybatis.mapper
config.spring.context
config.spring.mvc
resources에 4개 패키지 생성
src > main > webapp > WEB-INF > Spring > web.xml
1) 한글 필터 삽입
https://developernew.tistory.com/175
Spring 한글 필터 설정 방법
: web.xml > 필터 설정 코드 붙여넣기 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 encodingFilter /*
developernew.tistory.com
2) root-context.xml 경로 변경
<!-- <param-value>/WEB-INF/spring/root-context.xml</param-value> -->
<param-value>classpath*:config/spring/context/context-*.xml</param-value>
3) servlet-context.mxl 경로 변경
<!-- <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> -->
<param-value>classpath:config/spring/mvc/servlet-context.xml</param-value>
드라이버 세팅
db.properties의 user / password 정보 변경 (로그인 정보)
context-1-datasource.xml에 데이터소스 객체 생성 (user 정보 불러오기)
<!-- 데이터소스 객체 생성 : user 정보를 불러와야 함 -->
<!-- db.properties 파일 불러오기 -->
<context:property-placeholder location="classpath:config/mybatis/db.properties"/>
context-1-datasource.xml > Namespaces > context
context-1-datasource.xml의 Namespaces의 context를 체크해 주어야
코드 오류가 나지 않는다
sql문 사용을 위한 mapper 연결
src/main/resources > config.mybatis > mybatis-config.xml
sql문 사용을 위해 (mapper) 아래 코드 입력
<mapper resource="config/mybatis/mapper/dept.xml"/>
jar 파일 추가
jar 파일 : 일반적으로 사람들이 가장 많이 사용한 것으로 사용
Ojdbc8 검색
21.1.x
code는 버전에 따라 고를 수 있음
// maven 버전으로 코드 복사
<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.1.0.0</version>
</dependency>
복사한 태그를 pom.xml의 <dependencies></dependencies>안에 붙여넣으면
Maven Dependencies안에 ojdbc파일이 자동으로 생성된다
//
commons DBCP 검색
가장 많이 다운로드 받은 파일이 있는데
2010버전으로 너무 오래 되었으니 2버전으로 받기
src/main/resources > config.spring.context > context-1-datasource.xml
복사한 코드를 context-1-datasource.xml에 입력
<bean id="ds" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${user}" />
<property name="password" value="${password}" />
<property name="defaultAutoCommit" value="false" />
<property name="maxTotal" value="10" />
</bean>
* Mac용 설정 추가 (윈도우는 설정 필요 없음)
<bean id="ds" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="defaultAutoCommit" value="false"></property>
<property name="maxTotal" value="10"></property> // 최대 객체 생성 가능한 수 = maxActive
</bean>
: ${}안의 값에 [jdbc.]을 붙여준다
src/main/resources > config.mybatis > db.properties
db.propertise 파일 내 정보도 동일하게 jdbc. 를 추가해 통일시켜준다
mybatis 설정
: mybatis 설정을 위한 jar 파일 추가
mybatis
mybatis-spring
mybatis
3.4.6 버전으로 코드 복사
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
MyBatis Spring
1.3.1버전으로 코드 복사
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
복사한 태그를 pom.xml의 <dependencies></dependencies>안에 붙여넣으면
Maven Dependencies안에 ojdbc파일이 자동으로 생성된다
Spring JDBC
spring jdbc 4.3.14 버전으로 코드 복사
복사한 태그를 pom.xml의 <dependencies></dependencies>안에 붙여넣으면
Maven Dependencies안에 ojdbc파일이 자동으로 생성된다
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.14.RELEASE</version>
</dependency>
pom.xml에서 자바 버전 11로 고치고
spring framework 버전 4.3.14.RELEASE로 // SPRING JDBC 다운받은 버전과 일치시킴
<java-version>11</java-version>
<org.springframework-version>4.3.14.RELEASE</org.springframework-version>
Properties > Project Facets
Dynamic Web Module -> 4.0
Java -> 11
버전 변경 세팅
src/main/resources > config.spring.context > context-2-mybatis.xml
// context 2-mybatis.xml에 코드 추가
<bean id="factoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ds" />
<property name="configLocation"
value="classpath:config/mybatis/mybatis-config.xml"/>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="factoryBean" />
</bean>
<!--
Mybatis 설정을 위한 jar파일 추가
- mybatis
- mybatis-spring
- spring-jdbc
factoryBean객체
factoryBean은 처리한 sql문의 결과값을 뽑아주는 역할 (통로)
dao에서 실질적으로 실행시키는 것 sqlSession
constructor : 객체 생성
ref="ds" : ds를 참조하는 중간 통로
-->
'Backend > Spring' 카테고리의 다른 글
Spring Mybatis Example : Visit 샘플 예제 풀이 (0) | 2023.05.28 |
---|---|
Spring Mybatis 기본 세팅 2 서비스 패키지, 컨트롤러 생성 (0) | 2023.05.26 |
Spring 서버 구동 방식 (0) | 2023.05.23 |
Spring 한글 필터 설정 방법 (0) | 2023.05.23 |
Spring 기본 routine : logic Parameter 구동 방식 (0) | 2023.05.18 |