MyBatis
- Java Object์ SQL๋ฌธ ์ฌ์ด์ ์๋ Mapping ๊ธฐ๋ฅ์ ์ง์ํ๋ ORM Framework
- MyBatis๋ SQL์ ๋ณ๋์ ํ์ผ(XML ํน์ ์)๋ก ๋ถ๋ํด์ ๊ด๋ฆฌ
- Object ์ SQL ์ฌ์ด์ parameter mapping ์์ ์ ์๋์ผ๋ก ํด ์ค.
- ์๋ฐ์ SQL์ ์ฐ๊ฒฐ๋ง ํด์ค๋ค!
- JAVA - MyBatis - MySQL
- myBatis → Java์ myBatis → spring ๋ฐ๋ก ์์
JDBC
- Driver Loading (Driver Class)
- DB์ฐ๊ฒฐ(Connection๊ฐ์ฒด ์์ฑ) (url, id, pwd)
- SQL ์คํ ์ค๋น
- SQL๋ฌธ์ฅ
- Statement์์ฑ
- SQL ์คํ
- DB ์ ์ข ๋ฃ
๐ก ์ ๋ฐฉ์์์ ํ๋์ ๋ถ๋ถ์ MyBatis๊ฐ ์์์ ํด์ฃผ๊ณ , ์ด๋ก์ ๋ถ๋ถ๋ง xml์ ์ค์ ํด์ฃผ๋ฉด ๋๋ค
์์ํ๊ธฐ
- ๋ชจ๋ MyBatis ์ ํ๋ฆฌ์ผ์ด์ ์ SqlSessionFactory ์ธ์คํด์ค๋ฅผ ์ฌ์ฉ
- SqlSessionFactory ์ธ์คํด์ค๋ SqlSessionFactoryBuilder๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋ค์ ์์
- SqlSessionFactoryBuilder๋ XML ์ค์ ํ์ผ์์ SqlSessionFactory ์ธ์คํด์ค๋ฅผ ๋น๋ํ ์ ์๋ค.
public class SqlMapConfig {
private static SqlSessionFactory sqlSessionFactory;
staic {
try{
String resource = "com/mcsong/mybatis/config/mybatis-config.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e){
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){ // SqlSession์ ๋ฆฌํด
return sqlSessionFactory.openSession();
}
}
MyBatis ํน์ง
- ์ฌ์ด ์ ๊ทผ์ฑ๊ณผ ์ฝ๋์ ๊ฐ๊ฒฐํจ
- SQL๋ฌธ๊ณผ ํ๋ก๊ทธ๋๋ฐ ์ฝ๋์ ๋ถ๋ฆฌ
- ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๊ตฌํ๊ฐ๋ฅ
MyBatis ์ปดํฌ๋ํธ
- MyBatis ์ค์ ํ์ผ(sqlMapConfig.xml)
- db์ ์ ์ ์ฃผ์ ์ ๋ณด๋ ๊ฐ์ฒด์ alias, Mapping ํ์ผ์ ๊ฒฝ๋ก ๋ฑ ๊ณ ์ ๋ ํ๊ฒฝ ์ ๋ณด๋ฅผ ์ค์
- SqlSessionFactoryBuilder
- MyBatis ์ค์ ํ์ผ์ ๋ฐํ์ผ๋ก SqlSessionFactory๋ฅผ ์์ฑ
- SqlSessionFactory
- ํต์ฌ์ ์ธ ์ญํ ์ ํ๋ ํด๋์ค. SQL ์คํ์ด๋ Transaction๊ด๋ฆฌ๋ฅผ ์คํ
- mapping ํ์ผ
- SQL๋ฌธ๊ณผ ORMapping์ ์ค์
'๐๋ฐฑ์๋ : BackEnd' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์คํ๋ง ์ํ๋ฆฌํฐ (0) | 2024.02.21 |
---|---|
REST API (1) | 2024.01.12 |
Spring Web MVC (0) | 2024.01.02 |
Spring AOP (1) | 2024.01.02 |
SpringFramework - DI (2) | 2024.01.01 |