๋งคํผ ํ์ผ(XML)
โข
๋์ ๊ตฌ์กฐ
โข
๊ธฐ๋ณธ ์ฝ๋
โข
๋งคํผ ํ๊ทธ
โข
ํ๊ทธ ์์ฑ
โข
์์
๋์ ๊ตฌ์กฐ
MyBatis๋ XML ๋งคํผ ํ์ผ๊ณผ Java ๋งคํผ ์ธํฐํ์ด์ค๋ฅผ ์ฐ๊ฒฐํ์ฌ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํฉ๋๋ค.
ํ์ผ ๊ตฌ์กฐ
๋งคํ ์๋ฆฌ
๋ฐํ ํ์
๊ธฐ๋ณธ ์ฝ๋
<?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">
<!-- namespace="๋งคํผ ์ธํฐํ์ด์ค ๊ฒฝ๋ก" -->
<mapper namespace="๋งคํผ์ธํฐํ์ด์ค ๊ฒฝ๋ก">
</mapper>
XML
๋ณต์ฌ
๋งคํผ ํ๊ทธ
ํ๊ทธ | ์ค๋ช
|
<select> | SELECT ์ฟผ๋ฆฌ๋ฅผ ์ ์ |
<insert> | INSERT ์ฟผ๋ฆฌ๋ฅผ ์ ์ |
<update> | UPDATE ์ฟผ๋ฆฌ๋ฅผ ์ ์ |
<delete> | DELETE ์ฟผ๋ฆฌ๋ฅผ ์ ์ |
ํ๊ทธ ์์ฑ
์์ฑ | ์ค๋ช
|
id | ๋งคํผ ์ธํฐํ์ด์ค์ ๋ฉ์๋ ์ด๋ฆ๊ณผ ๋งคํ |
resultType | ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋งคํํ Java ํ์
์ง์ |
resultMap | ๋ณต์กํ ๊ฒฐ๊ณผ ๋งคํ์ ์ํ resultMap์ id ์ฐธ์กฐ |
parameterType | ํ๋ผ๋ฏธํฐ์ Java ํ์
์ง์ |
์์
BoardMapper.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">
<!-- namespace="๋งคํผ ์ธํฐํ์ด์ค ๊ฒฝ๋ก" -->
<mapper namespace="com.aloha.mybatis.mapper.BoardMapper">
<!-- ๊ฒ์๊ธ ๋ชฉ๋ก -->
<!-- <select id="list" resultType="com.aloha.mybatis.dto.Board"> -->
<select id="list" resultType="Board">
SELECT *
FROM board
ORDER BY created_at DESC
</select>
<!-- ๊ฒ์๊ธ ์กฐํ -->
<select id="select" resultType="Board">
SELECT *
FROM board
WHERE no = #{no}
</select>
<!-- ๊ฒ์๊ธ ๋ฑ๋ก -->
<insert id="insert">
INSERT INTO board ( id, title, writer, content )
VALUES ( #{id}, #{title}, #{writer}, #{content} )
</insert>
<!-- ๊ฒ์๊ธ ์์ -->
<update id="update">
UPDATE board
SET title = #{title}
,writer = #{writer}
,content = #{content}
WHERE no = #{no}
</update>
<!-- ๊ฒ์๊ธ ์ญ์ -->
<delete id="delete">
DELETE FROM board
WHERE no = #{no}
</delete>
</mapper>
XML
๋ณต์ฌ
BoardMapper.java
package com.aloha.mybatis.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.aloha.mybatis.dto.Board;
@Mapper
public interface BoardMapper {
// ๊ฒ์๊ธ ๋ชฉ๋ก
List<Board> list() throws Exception;
// ๊ฒ์๊ธ ์กฐํ
Board select(Integer no) throws Exception;
// ๊ฒ์๊ธ ๋ฑ๋ก
int insert(Board board) throws Exception;
// ๊ฒ์๊ธ ์์
int update(Board board) throws Exception;
// ๊ฒ์๊ธ ์ญ์
int delete(Integer no) throws Exception;
}
Java
๋ณต์ฌ
@Mapper ์ด๋
ธํ
์ด์
MyBatis์์ @Mapper ์ด๋
ธํ
์ด์
์ ํด๋น ์ธํฐํ์ด์ค๊ฐ MyBatis ๋งคํผ ์ธํฐํ์ด์ค์์ ๋ํ๋
๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
โข
์๋ ์ค์บ: Spring Boot๋ @Mapper๊ฐ ๋ถ์ ์ธํฐํ์ด์ค๋ฅผ ์๋์ผ๋ก ์ค์บํ์ฌ MyBatis ๋งคํผ๋ก ๋ฑ๋กํฉ๋๋ค.
โข
XML ๋งคํ: ์ธํฐํ์ด์ค์ ๋ฉ์๋์ XML ํ์ผ์ SQL ์ฟผ๋ฆฌ๋ฅผ ์๋์ผ๋ก ๋งคํํฉ๋๋ค.
โข
๊ตฌํ์ฒด ์์ฑ: MyBatis๊ฐ ๋ฐํ์์ ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค.
์ฌ์ฉ ์์
@Mapper
public interface BoardMapper {
// ๋ฉ์๋ ์ ์ธ๋ง ํ๋ฉด MyBatis๊ฐ XML์ SQL๊ณผ ์๋ ๋งคํ
List<Board> list() throws Exception;
}
Java
๋ณต์ฌ
@Mapper ์ด๋
ธํ
์ด์
์ ์ฌ์ฉํ๋ฉด ๋ณ๋์ ์ค์ ์์ด MyBatis ๋งคํผ๋ฅผ ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.



