1. MyBatis
가. 다운로드
http://blog.mybatis.org/p/products.html
나. mybatis 설정 방법
1) mybatis-3.4.4.jar : lib 폴더에 복사
2) MybatisManager.java : mybatis framework을 실행할 수 있는 세션 생성
3) sqlMapConfig.xml : mybatis 기본설정 파일
4) mapper 파일 : 실제 sql query 문장
* 특징
- 프로그래밍 코드로부터 SQL 코드를 분리
- 입력 매개변수를 라이브러리 클래스로 전달하고 출력
- 비즈니스 로직 클래스로부터 데이터액세스클래스를 분리
- 트랜잭션 관리 가능
* 사용 방법
mybatis-3.4.1.jar 파일을 WEB-INF/lib 디렉토리에 복사
MybatisService.java와 sqlMapConfig.xml 파일을 Java Resource/src/config 패키지에 복사
sample.xml 파일을 활용하여 SQL 명령어 작성
2. ojdbc7 다운로드
다운로드 사이트 :
ojdbc6 : https://mvnrepository.com/artifact/com.oracle/ojdbc6/12.1.0.1-atlassian-hosted
ojdbc7 : https://mvnrepository.com/artifact/com.github.noraui/ojdbc7/12.1.0.2
ojdbc8 : https://mvnrepository.com/artifact/com.github.noraui/ojdbc8
4. server.xml
<Context docBase="macaronics-shoes-Shopping" path="/macaronics-shoes-Shopping" reloadable="true" source="org.eclipse.jst.jee.server:macaronics-shoes-Shopping" > <Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" loginTimeout="10" maxWait="5000" name="jdbc/pool" password="1111" type="javax.sql.DataSource" url="jdbc:oracle:thin:@localhost:1521:XE" username="system" /> </Context>
5. sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- xml 지시어 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 알리아스 설정 -->
<!-- typeAlias type="전체경로" alias="별칭" -->
<!-- <typeAliases>
<typeAlias type="emp.dto.EmpDTO" alias="e" />
</typeAliases> -->
<!-- db연결 참조코드 -->
<environments default="">
<environment id="">
<transactionManager type="JDBC" />
<dataSource type="JNDI">
<property name="data_source"
value="java:comp/env/jdbc/pool" />
</dataSource>
</environment>
</environments>
<!-- 실제 sql query -->
<mappers>
<!-- 샘플 설정 -->
<!-- <mapper resource="emp/mapper/emp.xml" /> -->
<mapper resource="mapper/board.xml"/>
</mappers>
</configuration>
6. class MybatisService
package config;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MybatisService {
// SqlSessionFactoryBuilder => SqlSessionFactory
// => SqlSession
//SqlSession 객체 생성기
private static SqlSessionFactory factory;
static {
try {
// Java Resources의 src
Reader r = Resources.getResourceAsReader("config/sqlMapConfig.xml");
//SqlSessionFactory 생성기
factory = new SqlSessionFactoryBuilder().build(r);
r.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getFactory() {
return factory;
}
}
7. 연결 확인 테스트
board.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="member">
<!-- id="태그의 식별자"
resultType="sql 명령어의 리턴타입(레코드의 자료형)"
샵{변수} => 입력매개변수 -->
<select id="memberlist" resultType="model.BoardBean">
<![CDATA[ select * from
(select A.* , Rownum Rnum from (select * from board order by ref desc, re_step asc) A )
where Rnum >= 1 and Rnum <= 5 ]]>
</select>
</mapper>
class BoardBean
public class BoardBean {
private int num;
private String writer;
private String email;
private String subject;
private String password;
private String reg_date;
private int ref;
private int re_step;
private int re_level;
private int readcount;
private String content;
class BoardListTest
package model;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import config.MybatisService;
public class BoardListTest {
SqlSession session=MybatisService.getFactory().openSession();
public List<BoardBean> memberList(){
List<BoardBean> items=new ArrayList<BoardBean>();
Map<String,Object> map=
new HashMap<String,Object>();
items = session.selectList("member.memberlist",map);
return items;
}
}
index.jsp
<%@page import="model.BoardListTest"%>
<%@page import="config.MybatisService"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=
MybatisService.getFactory()
%>
<br>
Mybais 연결 테스트
<%
BoardListTest test =new BoardListTest();
out.print(test.memberList().toString());
%>
</body>
</html>
macaronics.net
소스 : https://github.com/braverokmc79/jsp_sin















댓글 ( 4)
댓글 남기기