▶ Maven이란?
Java용 프로젝트 관리 도구
필요한 라이브러리를 pom.xml에 정의
라이브러리 동작에 필요한 라이브러리도 자동 다운로드
▶ 설정 방법
① 이클립스 빈공간 우클릭 -> other -> maven project 검색 -> next -> 필터에 maven-archetype-webapp이라 검색 -> org.apache.maven.archetypes 클릭후 넥스트 ->
group id : com.smhrd(회사 페이지 끝나는 주소, 회사명) Artifact id : 프로젝트명 -> 완료
MavenSample 프로젝트 우클릭 -> build path 클릭 -> Libraries 이동 -> Add Library에서 Server Runtime, Web app libraries 각각 추가 후 apply 클릭 -> 좌측 Project Facets 클릭 -> Dynamic Web Module 버전 맞춰주기(4.0) Java 버전 맞춰주기(1.8) -> apply and close
② 이클립스 빈공간 우클릭 -> dynamic web project 클릭 -> MavenProject -> configure -> 맨마지막 create 클릭
<라이브러리 추가하는법>
① pom.xml에서 depedency 추가! 단 dependencies 안에 추가
② 구글에 mvn.repository 검색 해서 사이트 들어가기
③ 추가하고자 하는 라이브러리 검색 -> 반드시 맨 상단에 있는 결과로 들어가기
④ 내용 전체 클릭해서 복붙
<MyBatis>
- Java코드와 SQL쿼리를 자동으로 연결해주는 프레임워크(mapping 기능)
SQL쿼리를 XML 파일로 분리
JDBC 코드 간결하게 사용가능
▶ 사용법
1) 기존 DAO 클래스 방식
2) Mapper interface 방식
3) Annotation 방식
▶ 기존 DAO 클래스 방식
DAO메서드 : 연결객체 생성, 실행
config.xml : 동적로딩, DB연결
mapper.xml : SQL문 준비
<config.xml >
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- DB연결설정 -->
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OraclDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="hr"/>
<property name="password" value="hr"/>
</dataSource>
</environment>
</environments>
<!-- Mapper 파일(SQL 쿼리문을 가지고 있는 파일) 설정하기 -->
<!-- 파일이 여러개 생성될 수 있다. -->
<mappers>
<mapper resource = "com/smhrd/database/MemberMapper.xml"/>
</mappers>
</configuration>
<mapper.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">
<!-- namespace : mapper 식별자(고유의 이름) -->
<!-- 절대 중복되면 안된다. 중복되는 순간 mapper를 찾지 못한다. -->
<mapper namespace="com.smhrd.model.DAO" >
<!-- Query문 작성해서 넣는 공간 -->
<insert id="memberinsert" parameterType="com.smhrd.model.IotMember">
insert into iotmember values(#{id},#{pw},#{nickname},#{age});
</insert>
</mapper>
<SqlSessionManager>
kage com.smhrd.database;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionManager {
// 객체 생성시 실행되는 구간(객체를 ㄱ부르기만 해도 동일하게 실행되는 구간이다.)
// 생성자 : 인스턴스를 생성하는 메소드
// 서로 다른 인스턴스(주소 값이 서로 다른 객체)도 동일한 내용을 공유한다.
// static(정적인 or 공유변수)
static SqlSessionFactory sqlSession;
static {
// 1) 연결할 설정 정보 가져오기
String resource = "com/smhrd/database/mybatis-config.xml";
// 2) 문자열을 읽어서 진짜 파일로 되돌려준 도구를 하나 꺼내오기
Reader reader;
try {
// 3) config파일을 읽어서 class path 경로형태를 가진 Reader객체로 반환
// 문자열로 된 config파일을 진짜 해석할 수 있게 도와주는 역할
reader = Resources.getResourceAsReader(resource);
// 4) config파일안에 있는 데이터베이스 정보를 기반으로
// DB랑 연결통로를 가지고 있을수 있게 해주는 구간
sqlSession = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
// 5) DB랑 연결하고 있는 연결통로에 대한 정보를 갖고있는 객체 반환
// DB연결, 종료, 실행 세션관리
public static SqlSessionFactory getSqlSession() {
return sqlSession;
}
}
'Maven Project' 카테고리의 다른 글
회원가입 실습 (0) | 2022.05.18 |
---|---|
전체회원 확인하기 (0) | 2022.05.17 |
로그인 (0) | 2022.05.17 |
회원 탈퇴 (0) | 2022.05.16 |
회원가입 (0) | 2022.05.16 |