생각하는 감쟈

[JAVA] Mybatis-confing / mapper . xml 설정 코드 파일 본문

Language/Java

[JAVA] Mybatis-confing / mapper . xml 설정 코드 파일

생각하는 감쟈🥔 2024. 5. 28. 19:45

MyBatis

데이터베이스를 쉽게 다룰 수 있는 프레임워크

preparedstatement같은 쿼리문을 입력하지 않고 실제 쿼리문과 유사하게 작성

사용 방법 순서 : 의존성 설정 >> DB설정 >> MyBatis 설정 >> Mapper 인터페이스 작성  >> XML작성  

 

Mybatis-confing.xml 

mybatis 실행시 초기 환경 설정 / 프로젝트에서 가장 기본적인 설정 코드 파일

<?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>

	<properties resource ="kr/or/ddit/mybatis/config/dbinfo.properties"/>
	
	<settings>
		<setting name="jdbcTypeForNull" value="NULL"/>
	</settings>
	
	<typeAliases>
		<typeAlias type="kr.or.ddit.member.vo.MemberVO" alias ="memberVo"/>
	</typeAliases>
	
	<environments default="oracleDB">
		<environment id="oracleDB">
			<transactionManager type="JDBC"/>
			<dataSource type="POOLED">
				<property name="driver" value="${driver}"/>
				<property name="url" value="${url}"/>
				<property name="username" value="${user}"/>
				<property name="password" value="${pass}"/>
			</dataSource>
		</environment>
	</environments>
	
	<mappers>
		 <mapper resource="kr/or/ddit/mybatis/mappers/member-mapper.xml"/>
	</mappers>
    
</configuration>

 

 


DB연결 정보가 있는 properties 파일 설정 

<properties resource ="kr/or/ddit/mybatis/config/dbinfo.properties"/>

 

>> properties 파일

driver = oracle.jdbc.driver.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:xe
user = SB
pass = java

 

 

Mybatis의 기본 설정 값 셋팅

<settings>
	<setting name="jdbcTypeForNull" value="NULL"/>
</settings>

:  데이터가 null로 전달되었으면 빈칸으로 인지 말고 null로 인식해라 

 

 

typeAliases 별칭(alias)울 설정하는 태그

<typeAliases>
	<typeAlias type="kr.or.ddit.member.vo.MemberVO" alias ="memberVo"/>
</typeAliases>

: MyBatis에서 사용되는 클래스들은 사용할 때 패키지명이 포함된 전체 이름을 사용해야 되는데 이것을 대신해서

  짧은 이름으로 사용하기 위한 별칭으로 등록한다. 
  형식) <typeAlias type = "패키지명을 포함한 전체이름" alias="별칭이름"/>

 

type : 뒤 이름 잘 가져오기!!

 

 

DB에 연결할 정보 설정하기

<environments default="oracleDB">
		<environment id="oracleDB">
			<transactionManager type="JDBC"/>
			<dataSource type="POOLED">
				<property name="driver" value="${driver}"/>
				<property name="url" value="${url}"/>
				<property name="username" value="${user}"/>
				<property name="password" value="${pass}"/>
			</dataSource>
		</environment>
</environments>

 

 

DB에서 사용되는 SQL문들이 작성된 mepper파일 등록

<mappers>
	<mapper resource="kr/or/ddit/mybatis/mappers/member-mapper.xml"/>
</mappers>

: 형식) <mapper resource = "경로명/파일명.xml"/>

 


MyBatisUtil 설정 코드 파일

package kr.or.ddit.mybatis.config;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisUtil {
	
	private static SqlSessionFactory sqlSessionFactory = null;
	
	static {
		InputStream in = null;

		try {
			in = Resources.getResourceAsStream(
					"kr/or/ddit/mybatis/config/mybatis-config.xml");
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
					
		} catch (Exception e) {
			System.out.println("myBatis 초기화 실패 ..");
			e.printStackTrace();
		}finally {
			if(in!=null) try {in.close();} catch(IOException e) {}
		}
	}
	
	// SqlSession 객체를 반환하는 메서드
	public static SqlSession getSqlSession() {
		return sqlSessionFactory.openSession();
	}

}

 


 

 

mapper 설정 코드 파일

<?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">
	<select id ="getAllMember" resultType="memberVo">
		select * from member
	</select>
</mapper>

'Language > Java' 카테고리의 다른 글

[JAVA] $.ajax - jsonTest 코드  (0) 2024.06.04
[JAVA] Cookie 생성, 조회 ,삭제  (0) 2024.06.04
[Java] eclipse_단축키  (0) 2024.03.18
[JAVA] 2차원 배열_02  (0) 2024.03.15
[JAVA] Stack_heap, 배열 복사, 2차원 배열_01  (2) 2024.03.15
Comments