마이바티스(Mybatis) 왜 사용할까

임재현·2024년 3월 4일

Full-stack

목록 보기
1/6
post-thumbnail

1. 마이바티스(Mybatis) 가 뭘까?

마이바티스(Mybatis)는 자바 애플리케이션과 DB간의 상호작용을 도와주는 프레임 워크이다. 자바 객체와 쿼리문 매핑을 담당한다.

말 그대로 DB에 접근을 도와주는 프레임워크로 resultType에 명시된 형태로 쿼리의 결과를 반환한다. 주로 DAO확장자로 연결되며 보다 깔끔한 코드 가독성?을 도와준다.

2. 환경설정방법

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

친절히 한글로 설명이 되어있으니 참고하자
스프링이 해결해줄꺼야..!

3. 사용방법

<?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="com.example.fullstack.user.dao.UserDAO">
  	<!-- 유저 정보 반환 -->
    <select id="selectUsers" parameterType="HashMap" resultType="HashMap">
        SELECT
              user_id
            , user_pw
            , user_nm
            , user_email
	    FROM
	        users
    </select>
  	<!-- 회원가입 -->
    <insert id="insertUsers" parameterType="HashMap">
        INSERT INTO users
        (
              user_id
            , user_pw
            , user_nm
            , user_email
        )
        VALUES
        (
              #{user_id}
            , #{user_pw}
            , #{user_nm}
            , #{user_email}
        )
    </insert>

  	<!-- 비밀번호 변경 -->
    <update id="updateUserPw" parameterType="HashMap">
        UPDATE
            users
        SET
            user_pw = #{update_pw}
        WHERE
            user_id = #{user_id}
    </update>
</mapper>

쿼리문과 비슷하게 구성되어있다는 것을 알 수 있다.
id는 DAO에 작성된 함수명과 동일하게 작성하고,
parameterType은 매개변수 타입,
resultType은 반환 값을 선언한다.

이외에도 JOIN 과 <foreach>를 통한 반복문, <if> <choose><when> 등을 사용하여 조건문도 가능하다.

0개의 댓글