pom.xml 에 라이브러리 추가
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
|
<!--mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- mybatis-spring -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!--spring-tx --><!-- mybatis -->
<!--자기 버전에 맞춰 주세요 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<!--spring-jdbc --><!-- mybatis -->
<!--자기 버전에 맞춰 주세요 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
|
cs |
root-context.xml 설정추가
1
2
3
4
5
6
7
8
|
<!--HikariCP Configration-->
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<constructor-arg ref="hikariConfig"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
</bean>
|
cs |
Mapper 설정 2가지 방법 - xml
인터페이스 방법이 간단해서 편하지만 길어지면 가독성이 안좋음
xml은 아래와 같은 패키지에 넣어도 가능하고 src/main/resources 구조에 사용해도 됨
xml 설정
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.zerock.mapper.TimeMapper">
<select id="getIme2" resultType="string">
SELECT SYSDATE FROM DUAL
</select>
</mapper>
|
cs |
Mapper 설정 2가지 방법 - 인터페이스
-MyBatis가 동작할때 mapper를 인식할수 있도록 root-context.xml에 추가설정
'Namespaces' 항목에서 mybatis-spring탭 선택- <mybatis:scan> 태그 이용
지정된 패키지의 모든 Mybatis 관련 어노테이션을 찾아 처리함.
1
|
<mybatis-spring:scan base-package="org.zerock.mapper"/>
|
cs |
sql에 전달되는 파라미터는 jdbc에서와 같이 '?'?로 치환되기 때문에 값을 확인하기 힘듬
sql로그를 제대로 보기위해서는 log4jdbc-log4j2라이브러리를 사용해야함.
1
2
3
4
5
6
|
<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
|
cs |
라이브러리를 추가후 1)로그 설정 파일을 추가하는 작업과 jdbc연결정보를 수정해야함
src/main/resources 밑에 log4jdbc.log4j2.properties 파일과 내용 추가
1
|
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
|
cs |
root-context.xml 수정본
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 | <?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" xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring" xsi:schemaLocation="http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!-- Root Context: defines shared resources visible to all other web components --> <bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig"> <property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"> </property> <property name="jdbcUrl" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:XE"> </property> <property name="username" value="web02"> </property> <property name="password" value="1234"> </property> </bean> <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close"> <constructor-arg ref="hikariConfig"></constructor-arg> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> </bean> <mybatis-spring:scan base-package="org.zerock.mapper"/> <context:component-scan base-package="org.zerock.sample"></context:component-scan> </beans> | cs |
'읽은 책 정리 > 코드로 배우는 스프링 웹 프로젝트' 카테고리의 다른 글
[Spring] 스프링의 MVC의 Controller (0) | 2020.12.15 |
---|---|
[Spring] 스프링 MVC의 기본구조 (0) | 2020.12.14 |
[Spring] 스프링과 oracle Database연동 (0) | 2020.12.13 |
[Spring] 스프링의 특징과 의존성주입 (0) | 2020.12.13 |
[Spring] 스프링 개발을 위한 준비 (0) | 2020.12.12 |