Coding Planet
Mybatis-confing.xml ๋ฏ์ด๋ณด๊ธฐ ๋ณธ๋ฌธ
๋ฐ์ํ
1. Mybatis-confing.xml ์ ๋ฌธ
- ์ด ํ์ผ์ MyBatis ์คํ ์ ํ์ํ ์ค์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ, MyBatis ํ๋ก์ ํธ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ค์ ํ์ผ์ด๋ค.
- MyBatis-config.xml ํ์ผ์ ํ๋ก์ ํธ์ ๋ฆฌ์์ค ํด๋์ ์์นํ๋ฉฐ, MyBatis๊ฐ ์คํ๋ ๋ ํด๋น ํ์ผ์ ์ ๋ณด๋ฅผ ์ฝ์ด์ ์ค์ ์ ๊ตฌ์ฑํ๋ค.
<?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>
<!-- Mybatis ๊ด๋ จ ์ค์ ์์ฑํ๊ธฐ * ์๋ ์์ ์ค์, ๋ฐ๋๋ฉด ์๋จ! -->
<!-- SqlSessionTemplate ๊ด๋ จ ์ค์ -->
<settings>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
<!-- ๋ณ์นญ ์์ฑ ๋ถ๋ถ -->
<typeAliases>
<typeAlias type="edu.kh.comm.member.model.vo.Member" alias="member"/>
<typeAlias type="edu.kh.comm.board.model.vo.Board" alias="board"/>
<typeAlias type="edu.kh.comm.board.model.vo.BoardDetail" alias="detail"/>
<typeAlias type="edu.kh.comm.board.model.vo.BoardImage" alias="boardImage"/>
<typeAlias type="edu.kh.comm.board.model.vo.BoardType" alias="boardType"/>
</typeAliases>
<!-- SQL์ด ์์ฑ๋๋ mapper ํ์ผ ์์น ๋ฑ๋ก -->
<mappers>
<!--
<mapper resource=""/>์ ์์ฑ ๊ธฐ์ค
->src/main/resources ํด๋
-->
<mapper resource="/mappers/member-mapper.xml"/>
<mapper resource="/mappers/myPage-mapper.xml"/>
<mapper resource="/mappers/board-mapper.xml"/>
</mappers>
</configuration>
2. Mybatis-confing.xml ๋ฏ์ด๋ณด๊ธฐ
1. Settings
- <settings> ์์๋ MyBatis ์ ์ญ ์ค์ ์ ๊ตฌ์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ค. ์ฃผ์ ์ค์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
|
** jdbcTypeForNull:
- insert/update ์งํ ์ null์ด ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ Mybatis๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฌ๋ฅผ ๋ฐ์ ์ํจ๋ค.
- ์ ์์๋ฅผ ์ธํ ํ๋ฉด null์ด ํฌํจ๋ ๊ฒฝ์ฐ null๊ฐ์ ์ง์ ๋ 'value'๊ฐ์ผ๋ก insertํ๊ฑฐ๋ update ์ํจ๋ค.
- ์ฆ, ์ ๋ฌธ์ ์ธํ ์ null๊ฐ์ด ํฌํจ๋์ด ์์ผ๋ฉด 'NULL' (๋ฐ๋์ ๋๋ฌธ์)๋ก ๋์ฒดํ๋ผ๋ ๋ป์ด๋ค.
2. typeAliases
- <typeAliases>๋ MyBatis์์ ์ฌ์ฉํ ์๋ฐ ํด๋์ค์ ๋ณ์นญ(alias)์ ์ค์ ํ๋ ํ๊ทธ์ด๋ค.
- ์ด๋ฅผ ํตํด XML ํ์ผ์์ ํด๋์ค์ ํจํค์ง ๊ฒฝ๋ก ๋ฐ ํด๋์ค๋ช ์ ์ง์ ์ ๋ ฅํ๋ ๋์ ๊ฐ๋จํ ๋ณ์นญ์ผ๋ก ๋์ฒดํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
- ์๋ฅผ ๋ค์ด ์ ์ฝ๋์์ Member ํด๋์ค๋ฅผ member๋ผ๋ ๋ณ์นญ์ผ๋ก ์ง์ ํ๊ธฐ ๋๋ฌธ์, XML ํ์ผ์์ edu.kh.comm.member.model.vo.Member ๋์ member๋ผ๋ ๋ณ์นญ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค.
- ์ด๋ ๊ฒ ๋ณ์นญ์ ์ฌ์ฉํจ์ผ๋ก์จ, ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ณ ๊ฐ๋ ์ฑ ์๊ฒ ๋ง๋ค ์ ์๋ค.
- ๋ํ ํด๋์ค ์ด๋ฆ์ด๋ ํจํค์ง ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํ๋๋ผ๋ XML ํ์ผ์ ์์ ํ์ง ์์๋ ๋๋ฏ๋ก ์ ์ง ๋ณด์์ฑ์ด ํฅ์๋๋ค.
3. mappers
- MyBatis์์ SQL ๋งคํผ ํ์ผ์ ๋ฑ๋กํ๋ ํ๊ทธ. mapper ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฑ๋กํ ๋งคํผ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ค.
- ์์ ์ฝ๋์์๋ member-mapper.xml, myPage-mapper.xml, board-mapper.xml ์ด๋ ๊ฒ 3๊ฐ์ ๋งคํผ ํ์ผ์ ๋ฑ๋กํ๊ณ ์๋ค.
- ์ด ๋งคํผ ํ์ผ๋ค์ src/main/resources ํด๋ ๋ด์ ์์นํด ์์ด์ผ ํ๋ค.
- ๋ฑ๋ก๋ ๋งคํผ ํ์ผ์ SQL์ ํฌํจํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ์์ ์ ์ํํ ๋ ์ฌ์ฉ๋๋ค. ๊ฐ ๋งคํผ ํ์ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ ํ ์ด๋ธ์ ๋์๋๋ SQL ์์ฑ์ ๋ด๋นํ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๋ํ ์ ์๋ค.
๋ฐ์ํ
'๐ฑSPRING' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Maven์ด๋? POM.XML์์ ์์กด์ฑ ๊ด๋ฆฌ, Maven ์ฌ์ฉํ์ฌ POM.XML์ DI ์ถ๊ฐํ๊ธฐ (0) | 2023.05.18 |
---|---|
Spring root-context.xml ๋ฏ์ด๋ณด๊ธฐ (0) | 2023.05.03 |
MyBatis - ๋์ SQL ๊ตฌํํ๊ธฐ(if / choose / trim/ foreach) (0) | 2023.05.03 |
Spring @RequestMapping์ด๋? ์์ฑ๋ฐฉ๋ฒ, ์์ (0) | 2023.04.25 |
Apache Maven / Maven์ด๋? (0) | 2023.04.24 |
Comments