3.상단 id를 경로로 쓰기 ( com.smhrd )
사용 많은 것 접속 > 1.2 버전
아래 Maven 코드 복사
( <dependencies 태그> 안쪽에 붙여넣기 해줘야함. </태그>)
pom.xml에 붙여넣기
구글에서 롬복 검색하여 페이지 방문
다운로드 및 현재 다운 버전 잘 기억해주기
cmd에 다음과 같이 입력
입력하면 다음과 같은 창이 뜸
인설트 업데이트 클릭
경로 접속하여 최종확인.
라이브러리 추가 및 확인
//lombok 라이브러리 : Class의 기본 메소드(생성자, getter/setter) 자동완성
@Data // 기본메소드 자동완성(getter, setter, toString)
@AllArgsConstructor // 모든 필드를 초기화 하는 생성자 자동완성
@NoArgsConstructor // 기본생성자 : 기본생성자는 반드시 있어야 한다.
public class MemberDTO {
// 반드시 테이블의 컬럼명과 필드 변수명이 같아야 한다.
private String email;
private String pw;
private String tel;
private String address;
xml 내용 채우기
구글에서 .mybatis 검색하여 홈페이지 방문
시작하기 탭 선택(번역기 켜져있는 화면)
해당 이미지의 범위만큼 복사
xml에 붙여넣기
<?xml version="1.0" encoding="UTF-8"?>
<!-- 1. xml에서 어떤 탸구룰 사용할 것인지 schema 기술 해줘야함 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 'mybatis 설정 파일이다' 를 알려주는 태그 -->
<!-- dtd : document type definition -->
<configuration>
<!-- 해당 프로젝트에서 사용하는 DB연결과 설정파일 전부 지정하는 공간 -->
<environments default="development">
<!-- environments : database가 여러개 사용될 수 있다. DB에 대한 정보들을 기술할 수 있눈 공간 -->
<environment id="development">
<!-- environment : DB 한개의 대한 정보를 기술하는 공간-->
<transactionManager type="JDBC"/>
<!-- transactionManager : 트랜젝션 관리, Connection pool 관리 -->
<!-- Connection pool이란? : connection 이라는 객체를 생성하는데에 많은 자원 소비됨.
connection 객체를 미리 3~5개 정도 생성을하고 pool이라는 공간에서 관리
-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
MemberMapper.xml 생성
xml에 코드 설정
해당 코드 복붙
코드 수정
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- mapper
namespace란?
mapper 파일이 여러개일때, 해당하는 파일을 식별할 수 있는 식별자
이름을 정해줄때, 해당 mapper파일과 연결이 되는 DAO 쿨래스 이름을
일치 시켜주는 것을 원칙으로 함
-->
<mapper namespace="com.smhrd.model.DAO">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
<mappers>
<!-- mapper 파일 만들고 꼭 수정하기! -->
<mapper resource="com/smhrd/database/MemberMapper.xml"/>
</mappers>
해당 내용 복사
클래스내 static { } 중괄호 안에 붙여 넣기
전체 임포트시 해당 것은 그림과 같이 선택
String resource ="경로/mybatis-config.xml" 맞게 수정
SqlSessionFactory 반환 메소드 생성
최종
package com.smhrd.database;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionManager {
public static SqlSessionFactory sqlSessionFactory;
static {
String resource = "com/smhrd/database/mybatis-config.xml";
InputStream inputStream;
try {
inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// sqlSessionFactory라는 객체를 리턴해주는 메소드
// sqlSessionFactory == Connection POOL
// sqlSession == Connection
public static SqlSessionFactory getFactory() {
return sqlSessionFactory;
}
}
SqlSessionFactory factory = SqlSessionManager.getFactory(); 추가
package com.smhrd.model;
import org.apache.ibatis.session.SqlSessionFactory;
import com.smhrd.database.SqlSessionManager;
public class DAO {
// 1) SqlSession을 가지고 올 수 있는 SqlSessionFactory 생성
SqlSessionFactory factory = SqlSessionManager.getFactory();
public void join() {
}
}