ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MyBatis] MyBatis 사용하기
    개발환경/Mybatis 2022. 12. 21. 21:37
    728x90

     

     

    MyBatis는 쿼리 기반 웹 애플리케이션을 개발할 때 가장 많이 사용되는 SQL 매퍼(Mapper) 프레임워크이다. 

     

    MyBatis는 기존 JDBC 방식은 연동 과정도 복잡하고 Java 소스 코드 안에 SQL 쿼리를 작성하면 전체 코드가 길이가 길어지고 SQL 쿼리 구문이 섞여 있어 유지 보수가 힘들다는 단점을 극복하기 위해 고안되었다.

    MyBatis를 사용하면 SQL 쿼리를 mapper.xml 파일에 따로 작성하여 관리하기 때문에 코드 중복과 관리 및 수정이 편리하다. 

     

     

     

     

    MyBatis 특징

    - 복잡한 쿼리에 강하고 프로그램 코드와 SQL 쿼리의 분리로 코드가 간결해져 가독성이 높고 유지보수성이 향상된다.

    - 빠른 개발이 가능하여 생산성이 향상된다.

     

     

     

     

    MyBatis 사용하기

    1) dependency 추가하기

    https://mvnrepository.com/artifact/org.mybatis/mybatis/3.5.9

     

    복사하기!

     

    복사한 dependency는 pom.xml에 추가해준다.

     

     

    추가로 MySql과 연결하기 위해 아래 dependency도 추가한다.

    	<dependency>
    	    <groupId>mysql</groupId>
    	    <artifactId>mysql-connector-java</artifactId>
    	    <version>8.0.25</version>
    	</dependency>

     

    dependency 결과

     

     

     

     

     

    2) DB 파일 세팅

     

    아래와 같이 폴더와 파일을 구성할 예정으로 db 폴더 내 파일 구성은 그대로 따라한다. 

     

     

    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="development">
        <environment id="development">
          <transactionManager type="JDBC"/>
          <dataSource type="POOLED">
            <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://mysql 설치된 서버 ip:3306/DataBase 이름"/>
            <property name="username" value="사용자계정"/>
            <property name="password" value="비밀번호"/>
          </dataSource>
        </environment>
      </environments>
      <mappers>
        <mapper resource="com/blue/db/member.xml"/>
        // 사용할 mapper를 정의한다.
      </mappers>
    </configuration>

     

     

    Dbconn.java

    package com.blue.db;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    
    public class Dbconn {
    	public static Connection getConnection() {
    		Connection conn = null;
    		
    		try {
    			String url = "jdbc:mysql://mysql 설치된 서버 ip:3306/DataBase 이름";
    			String uid = "사용자계정";
    			String upw = "비밀번호";
    			Class.forName("com.mysql.cj.jdbc.Driver");
    			conn = DriverManager.getConnection(url, uid, upw);
    		}catch(Exception e) {
    			e.printStackTrace();
    		}
    		return conn;
    	}
    }

     

     

    SqlMapConfig.java

    package com.blue.db;
    
    import java.io.Reader;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    public class SqlMapConfig {
    	private static SqlSessionFactory sqlsession;
    	
    	static {
    		try {
    			String resource = "com/blue/db/config.xml";
    			Reader reader = Resources.getResourceAsReader(resource);
    			sqlsession = new SqlSessionFactoryBuilder().build(reader);
    		}catch(Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	public static SqlSessionFactory getSqlMapInstance() {
    		return sqlsession;
    	}
    
    }

     

     

    mamber.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">
    // 사용할 쿼리를 정의할 공간
    </mapper>

     

     

     

    이렇게 MyBatis를 사용하기 위한 세팅은 끝났다. 다음 시간에는 MyBatis를 활용하여 회원가입 기능을 구현해볼 것이다.

     

     

     

     

     

    728x90

    '개발환경 > Mybatis' 카테고리의 다른 글

    Oracle JDBC 의존성 선정방법  (0) 2023.11.28
    [MyBatis] MyBatis 로그인 만들기  (0) 2022.12.28
    [MyBatis] MyBatis 회원가입 만들기  (0) 2022.12.26

    댓글

Designed by Tistory.