μ°λ¦¬κ° MaBits
λ₯Ό ν΅ν΄μ DB
μ°λ FrameWork
λ₯Ό μ¬μ©ν κ²μ΄λ€.
DB
μ°λ μμ ν카리CP (DBCP)
λ₯Ό νμ©ν΄μ μ¬μ©ν κ²μΈλ°,
λ¨Όμ Eclipse
μ νλΌν€ CP
λ₯Ό μ€μΉνμκ³ ν카리 CP
λ DB μ°λ 컀λ₯μ
κ°μλ₯Ό μΌμ μμ± ν μ¬νμ©νλ κΈ°λ² (DBCP)
μ΄ μλ₯Ό κ°μ Έλ€κ° νμ©νλ€.
κ·Έ ν카리 CP
λ₯Ό MaBatis
κ° νμ©νλ©° κ·Έ DB
μ¬μ©μ νμ©νλ λ
μμ΄ SqlSessionFactoryBean
μ΄λ€.
κ·Έλμ μ°λ¦¬λ SQLSessionFactoryBean
μ κ°μ§κ³ CRUD
λ₯Ό ν μ μλ€.
Spring
컨ν
μ΄λλ μ€νλ§μμ κ°μ²΄(POJOλ±)
λ₯Ό κ΄λ¦¬νλ λ©λͺ¨λ¦¬ 곡κ°μ΄λ€.
μ°λ¦¬λ κ°μ²΄λ₯Ό λ€ μ€νλ§ μ»¨ν
μ΄λμ μμ±ν΄μ λ£μ΄μ€ κ²μ΄λ€.
κ·Έλ¦¬κ³ νμν λ μΈμ λ μ§ κΊΌλ΄μ μΈ μ μλ€.
μ΄κ²μ DI(μμ‘΄μ± μ£Όμ
)
μ΄λΌκ³ νλ€.
μλ²λ₯Ό ꡬλνλ μκ° μλ²λ web.xml
μ μ½μ΄λ€μΈλ€.
web.xml
μ 보면 FrontController
μΈ DispatcherServlet
μ μ€νλ§ μ»¨ν
μ΄λμ μ¬λ¦°λ€.
DispatcherServlet
μ μ€μ μ servlet-context.xml
μ μ€μ λμ΄ μλ€.
μΆκ°λ‘ web.xml
μ μ€μ ν ContextLoaderListener
λ μλλ° μ΄ κ°μ²΄λ DB
μ°κ²° μ€μ ν΄λμκ² μ€νλ§μ»¨ν
μ΄λ κ°μ²΄λ‘ μ¬λΌκ°λ€. (μ°λ¦¬κ° μ€μ ν ν카리 CP
)
μ΄ κ²½λ‘κ° servlet-context.xml
μ μμ±λ μλ POJO
λ€μ΄ μλ κ³³μ μμλ΄κΈ°μν΄ scan
νλ€λ λ»μ΄λ€.
κ·Έλ¦¬κ³ ν΄λΉ ν΄λμ€κ° scan
μμΉμ μλ€κ³ νλλΌλ POJO
κ° λλ €λ©΄ @Copntroller
μ΄ λΆμ΄μμ΄μΌ νλ€.
BoardMapper.java
λ₯Ό λ©λͺ¨λ¦¬μ μ¬λ¦¬κΈ°μν΄μ root-context.xml
μμ kr.smhrd.dao
λ₯Ό scane
νκ² νλ€.
μλνλ©΄ BoardMapper.java(interface)
κ° kr.smhrd.dao
ν¨ν€μ§ μμ μκΈ° λλ¬Έμ΄λ€.
κ·Έλ€μ root-context.xml
μ
xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring
μ΄λ
μμ μΆκ°ν΄μΌμ§ mybatis-spring:scan
νκ·Έλ₯Ό μ¬μ©ν μ μκ² λλ€.
http://mybatis.org/schema/mybatis-spring
http://mybatis.org/schema/mybatis-spring.xsd
μ νκ·Έλ μ¬μ΄μ μΆκ°νλ€.
κ·Έλ€μ BoardMapper.java
μ @Mapper
μ μΆκ° ν΄μ€μΌνλ€. (νμ§λ§ μλ΅κ°λ₯νλ€.)
μ΄λ°μμΌλ‘ μ°κ²°μ΄ λλ€.
κ·Έλ€μ BoardMapper
λ νΌλ°μ€ λ³μμ @Autowired
λ₯Ό νλ©΄ μμ‘΄μ± μ£Όμ
μμ±λλ€.
κ·ΈλΌ μ΄μ BoardController
μμ mapper
μμ λ©μλ μ¬μ© κ°λ₯νλ€.
BoardMapper.java
λ μλμΌλ‘ μ€νλ§μ»¨ν
μ΄λ κ°μ²΄λ‘ μ¬λΌκ° μμΌλ Autowired
λ§΅νλ§ ν΄μ£Όλ©΄ κ°μ Έμμ μ¬μ©κ°λ₯νλ€.
-> DI(μμ‘΄μ± μ£Όμ
)
μ£Όμλ‘ μ κ·Όνλ©΄ DB
μμ μλ κΈλ€μ΄ μλμΌλ‘ λμ€κ² λλ€.
μ¬κΈ°κΉμ§ ν΄μ μλλ μ¬λλ€μ λνλμ
λΌλ μ§ λ§΅νΌ
λΌλ μ§ λ€ λ΄μΌνλ€.
μ μ¬μ§μ DBκΉμ§ ν¬ν¨ν μ 체νλ¦μ΄λ€.
λ€μμλ κΈμ°κΈ° κΈ°λ₯μ μΆκ°ν΄μ κΈμ΄ μ
λ ₯ λ° μΆλ ₯μ΄ λλμ§ νμΈ ν μμ μ΄λ€.
λ΄μ©μ μμ§ μλ²½νκ² μ΄ν΄νμ§ λͺ»νλλΌλ μμ μλ μμ½ μ¬μ§μ λ³΄κ³ ννν 볡μ΅μ ν΄μΌκ² λ€.