1. 전체 프로젝트 기본 구성
2. 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>
<environments default=""> <!-- DB configure -->
<environment id="">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://아이피:포트/testdb?characterEncoding=UTF-8&useUnicode=yes&serverTimezone=UTC" />
<property name="username" value="아이디" />
<property name="password" value="패스워드" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/member/sql-member.xml" />
</mappers>
</configuration>
3. mapper.member
sql-member.xml
<?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="emp">
<select id="all" resultType="check.dto.EmpVO">
select * from employees
</select>
</mapper>
4. EmpVO.java
package check.dto;
public class EmpVO {
private String employee_id, first_name, email;
public String getEmployee_id() {
return employee_id;
}
public void setEmployee_id(String employee_id) {
this.employee_id = employee_id;
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
5. Main.java
package check;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import check.dto.DiyFunc;
import check.dto.EmpVO;
public class Main {
public static void main(String[] args) throws IOException {
// 1) MyBatis의 환경설정 파일과 연결할 스트림
Reader r = Resources.getResourceAsReader("mybatis-config.xml");
// 2) 연결된 파일로 부터 정보를 인식 - factory 생성
//SqlSessionFactoryBuilder sb = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(r);
// factory가 생성 되었으므로 더이상 r은 필요가 없다.
r.close();
// 3) factory를 통해서 SqlSession을 얻어낸다.
SqlSession ss = factory.openSession();
// 4) SqlSession을 통하여 원하는 SQL문을 호출하여 결과를 얻어낸다.
List<EmpVO> list = ss.selectList("emp.all");
// 5) 결과 처리
for(EmpVO vo : list)
{
System.out.println(vo.getEmployee_id() + "/" +
vo.getEmail() + "/" +
vo.getFirst_name()
);
}
// 6) 사용된 세션닫기
ss.close();
}
}