๐ Spring/Spring MVC, DB ์ ๊ทผ ๊ธฐ์
์คํ๋ง JdbcTemplate ๋ฆฌํฌ์งํ ๋ฆฌ ์์ฑ ์ค์ ์ Jdbc ์ค์ ๊ณผ ๋์ผํ๊ฒ ํ๋ฉด ๋๋ค. ์คํ๋ง Jdbc Data Access Layer ์ดํด DataSource ๋? DB์ ๊ด๊ณ๋ Connection ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ, bean์ผ๋ก ๋ฑ๋กํ์ฌ ์ธ์๋ก ๋๊ฒจ์ค๋ค. ์ด ๊ณผ์ ์ ํตํด Spring์ DataSource๋ก DB์์ ์ฐ๊ฒฐ์ ํ๋ํ๋ค. DataSource ์ค์ ๋ฐ ๋น ๋ฑ๋ก๋ฐฉ๋ฒ application.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test #url : db์ url์ ๋ฃ์ด์ฃผ๋ฉด ์๋์ผ๋ก connection์ด ๋จ. spring.datasource.driver-class-name=org.h2.Driver #h2๋ฅผ ์ฌ์ฉ ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ..
๐ Spring/Spring MVC, DB ์ ๊ทผ ๊ธฐ์
ํ๊ฒฝ์ค์ build.gradle ํ์ผ์ jdbc, h2 ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' ์คํ๋ง ๋ถํธ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์ค์ ์ถ๊ฐ resources/application.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver ์ฌ๊ธฐ์ datasource๊ฐ ์คํ๋ง ๋น์ ๋ฑ๋ก์ด ๋๊ณ db ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ๋ฃ์ด์ค๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ๋ Injection ๋ฐ์์ ์ฌ์ฉํ๋ฉด ๋๋ค! Jdbc ๋ฆฌํฌ์งํ ๋ฆฌ ๊ตฌ..
๐ Spring/Spring MVC, DB ์ ๊ทผ ๊ธฐ์
H2 database ์ค์น https://www.h2database.com ๊ถํ ์ฃผ๊ธฐ: chmod 755 h2.sh ์คํ: ./h2.sh ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ ์์ฑ ๋ฐฉ๋ฒ jdbc:h2:~/test (์ต์ด ํ๋ฒ) ~/test.mv.db ํ์ผ ์์ฑ ํ์ธ ์ดํ๋ถํฐ๋ jdbc:h2:tcp://localhost/~/test ์ด๋ ๊ฒ ์ ์ ํ
์ด๋ธ ์์ฑํ๊ธฐ ํ
์ด๋ธ ๊ด๋ฆฌ๋ฅผ ์ํด ํ๋ก์ ํธ ๋ฃจํธ์ sql/ddl.sql ํ์ผ์ ์์ฑ drop table if exists member CASCADE; create table member ( id bigint generated by default as identity, name varchar(255), primary key (id) );ํ๊ฒฝ์ค์ build.gradle ํ์ผ์ jdbc,..
๐ Spring/Spring MVC, DB ์ ๊ทผ ๊ธฐ์
๊ฐ๋ฐํ๊ฒฝ : IntelliJ IDEA , H2 DataBase, JAVA 11 ์คํ๋ง ๋ถํธ ์คํํฐ ์ฌ์ดํธ์์ ์คํ๋ง ํ๋ก์ ํธ ์์ฑ https://start.spring.io ํ๋ก์ ํธ ์ ํ Project : Gradle Project Spring Boot : 2.3.x Language : Java Java : 11 Project Metadata groupId : hello artifactId: hello-spring Dependencies : Spring Web, Hateoas, H2 database H2 Database ์ค์น ๋ฐ ์ค์ ๋ฐฉ๋ฒ ๋ฅผ ์ฐธ๊ณ ํ์ ํ๊ฒฝ์ค์ build.gradle ํ์ผ์ jdbc, h2 database ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ implementation 'org.springframework..
๐ Spring/Spring MVC, DB ์ ๊ทผ ๊ธฐ์
์ค์ ์ ์์ Jdbc์ ๋์ผํ ํ๊ฒฝ์ค์ ์ ํ๋ฉด ๋๋ค. ์คํ๋ง JdbcTemplate๊ณผ Mybatis ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ JDBC API์์ ๋ณธ ๋ฐ๋ณต ์ฝ๋๋ฅผ ๋๋ถ๋ถ ์ ๊ฑฐํด์ค๋ค. ํ์ง๋ง SQL์ ์ง์ ์์ฑ ํด์ผ ํ๋ค. ์คํ๋ง JdbcTemplate ํ์ ๋ฆฌํฌ์งํ ๋ฆฌ package iseunghan.iseunghanspring.repository; import iseunghan.iseunghanspring.domain.Member; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParame..
๐ Spring/Spring MVC, DB ์ ๊ทผ ๊ธฐ์
์์ JDBC ํ๊ฒฝ ์ค์ build.gradle ํ์ผ์ jdbc, h2 ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' ์คํ๋ง ๋ถํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์ค์ ์ถ๊ฐ resource/application.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver jdbc ๊ด๋ จ ์ฝ๋ ์๋ต.. (์ ์ ๊ฑด๊ฐ์ ์ํด ๋์ด๊ฐ๋ค) ์คํ๋ง ํตํฉ ํ
์คํธ ๋ง๋ค๊ธฐ ํ์ ์๋น์ค ์คํ๋ง ํตํฉ ํ
์คํธ package iseunghan..