본문 바로가기

JAVA/[개념]JAVA

[JAVA] mybatis xml SqlSessionFactory 빌드하기

https://mybatis.org/mybatis-3/ko/getting-started.html

 

MyBatis – 마이바티스 3 | 시작하기

 

mybatis.org

 

XML설정파일에서 지정하는 마이바티스의 핵심이 되는 설정은 트랜잭션을 제어하기 위한 TransactionManager과 함께 데이터베이스 Connection인스턴스를 가져오기 위한 DataSource 를 포함한다. 세부적인 설정은 조금 뒤에 보고 간단한 예제를 먼저보자.

 

"https://mybatis.org/dtd/mybatis-3-config.dtd" 에서 dtd는 문서의 형식을 정의

이클립스가 이 경로의 dtd 파일을 참조하여 

<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <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>

 

이런 식으로 문서를 작성해야 한다.라는 문서의 형식을 나타내는 코드

 

JDBC에 적은 거랑 똑같이 하면 된다.

 

-수정후-

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>    <!--고정-->
        <property name="url" value="jdbc:oracle:thin:@localhost:1521/XEPDB1"/>    <!--고정@변동(주소:포트/서비스명) 오라클 DB 접속정보이므로, 상급자에 물어보거나 옛날 코드를 찾아보면 나올 수 있당-->
        <property name="username" value="dev01"/>  <!--변동-->
        <property name="password" value="dev01"/>  <!--변동-->
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="mybatis/mapper/testMapper.xml"/> <!--resources 안에 있는 경로 작성하면 됨-->
  </mappers>
</configuration>

 

 

mapper 폴더의 testMapper.xml

매필된 SQL 구문 살펴보기

 

<?xml version="1.0" encoding="UTF-8" ?>
https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
  <select id="selectBlog" resultType="Blog">
    select * from Blog where id = #{id}
  </select>
</mapper>

 

<?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="test">     <!--namespace와 id는 유일한 식별자-->
  <select id="hello" resultType="string">    <!--namespace와 id는 유일한 식별자-->
    SELECT 'Hello Mybatis' FROM DUAL
  </select>
</mapper>