mybatis 설정
1. 회원 테이블
- 데이터베이스에 사용자의 회원정보를 저장하기 위한 테이블 생성
create table springuser(
email varchar2(100)primary key,
pw varchar2(100)not null,
nickname varchar2(100)not null,
image varchar2(1000));
INSERT INTO springuser(email, pw, NICKNAME, image)
values('ggangpae1@gmail.com', '123456', '군계', 'default.png')
COMMIT;
select * from springuser;
2. 의존성 라이브러리 설정
- MyBatis 와 lombok을 사용하기 위한 의존성 라이브러리를 pom.xml 파일에 설정
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
3. UserVO
- SpringUser 테이블의 데이터를 저장할 User 클래스를 기본패키지.domain 패키지를 생성하고 그 안에 생성
package com.gmail.hi.domain;
import lombok.Data;
@Data
public class User {
private String email;
private String pw;
private String nickname;
private String image;
}
4. Mybatis 설정
- src/main/resources 디렉토리에 mybatis 디렉토리를 생성하고 MyBatis환경 설정 파일인 mybatis-config.xml 파일을 생성
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<package name="com.gmail.hi.domain" />
</typeAliases>
</configuration>
- springuser 테이블에 관련된 SQL을 저장할 user.xml 파일을 src/main/resources 디렉토리의 mybatis 디렉토리에 mappers 디렉토리를 추가해서 생성하고 namespace을 설정
<?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="user">
</mapper>
- root-context.xml 파일에 MyBatis 연동을 위한 bean 생성 코드 작성
<bean class="org.mybatis.spring.SqlSessionFactoryBean" id="sqlSessionFactory">
<property name="dataSource" ref="dataSource" />
<property value="classpath:/mybatis/mybatis-config.xml" name="configLocation" />
<property value="classpath:/mybatis/mappers/*.xml" name="mapperLocations" />
</bean>
<bean class="org.mybatis.spring.SqlSessionTemplate" id="sqlSession" destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
- src/test/java 패키지에 BoardTest 클래스에 메소드를 생성한 후 테스트
@Autowired
private SqlSession sqlSession;
@Test
public void sqlSessionTest() throws Exception {
System.out.println(sqlSession);
}