
마이바티스(Mybatis)는 자바 애플리케이션과 DB간의 상호작용을 도와주는 프레임 워크이다. 자바 객체와 쿼리문 매핑을 담당한다.
말 그대로 DB에 접근을 도와주는 프레임워크로 resultType에 명시된 형태로 쿼리의 결과를 반환한다. 주로 DAO확장자로 연결되며 보다 깔끔한 코드 가독성?을 도와준다.
https://mybatis.org/mybatis-3/ko/getting-started.html
친절히 한글로 설명이 되어있으니 참고하자
스프링이 해결해줄꺼야..!
<?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> 등을 사용하여 조건문도 가능하다.