SimpleJdbcInsert
๋ฅผ ์ฌ์ฉํ์ฌ, insert๋ฅผ ๊ตฌํํ๋ ์ค ๋ฌธ์ ๋ฐ์
private Member insert(Member member) {
SimpleJdbcInsert simpleJdbcInsert = new SimpleJdbcInsert(jdbcTemplate.getJdbcTemplate())
.withTableName("Member")
.usingGeneratedKeyColumns("id");
SqlParameterSource params = new BeanPropertySqlParameterSource(member);
var id = simpleJdbcInsert.executeAndReturnKey(params).longValue();
return Member.builder()
.id(id)
.email(member.getEmail())
.nickname(member.getNickname())
.birth(member.getBirth())
.build();
}
์ฝ๋์์๋ Member
๋ผ๋ ํ
์ด๋ธ ๋ช
๊ณผ, id
๋ผ๋ key ์ปฌ๋ผ์ ์๋ ค์ฃผ์๋ค
๊ทธ๋ฐ๋ฐ ์คํํ๋ฉด 500 ์๋ฌ์ ์ด๋ฐ ์๋ฌ๊ฐ ๋ฐ์
ํ
์ด๋ธ์๋ name
์ด๋ผ๋ column์ด ์กด์ฌํ์ง ์๊ณ , ์ฝ๋ ์์์๋ name
์ ์ฌ์ฉํ ๊ณณ์ด ์๋๋ฐ..;;
ํ ๋ธ๋ก๊ฑฐ๋ถ๋ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฐ๊ณ ๊ณ์ ์ ์ฐธ๊ณ ํ์ฌ ํ์ธํด๋ณด๋
์ฐ๊ฒฐ๋ DB๊ฐ ์๋๋ผ ์ด์ํ DB๋ฅผ ์กฐํํ๊ณ ์์๋ ๊ฒ;;
์ด์์๊ธฐ
๊ณต์ ๋ฌธ์ ๋ฅผ ๋ณด๋ฉด
SimpleJdbcInsert๋ ํ ์ด๋ธ์ ๋ํ ์ฌ์ด ์ฝ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
๊ธฐ๋ณธ ์ฝ์ ๋ฌธ์ ๊ตฌ์ฑํ๋๋ฐ ํ์ํ ์ฝ๋๋ฅผ ๋จ์ํํ๊ธฐ ์ํด ๋ฉํ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ค.
๊ทธ๋ฌ๋๊น ํ ์ด๋ธ ์ด๋ฆ๊ณผ ์ด ์ด๋ฆ, ์ด ๊ฐ์ด ํฌํจ๋ Map๋ง ์ ๊ณตํ๋ฉด ๋๋ค.๋ฉํ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ JDBC Driver์์ ์ ๊ณตํ DatabaseMetaData๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
JDBC Driver๊ฐ ์ง์ ๋ ํ ์ด๋ธ์ ์ด ์ด๋ฆ์ ์ ๊ณตํ ์ ์๋ ํ ์๋ ํ์ง ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค.
์ฆ, withTableName()
์ผ๋ก ์ ๊ณต๋ ํ
์ด๋ธ ๋ช
์ผ๋ก ์์์ ์ฐพ๋๋ค~ ๊ทธ๋์ ๋ค๋ฅธ DB์๋ Member ํ
์ด๋ธ์ด ์๋ค๋ณด๋ ๊ผฌ์ธ๊ฑฐ ๊ฐ๋ค~
๊ฐ๋จํ๊ฒ, withCatalogName()
์ผ๋ก ์ด์ฉํด DB๋ฅผ ์ง์ ํด์ฃผ์๋๋ ํด๊ฒฐ ์๋ฃ~!
'์คํ๋ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
QueryDSL ์ด๋? (0) | 2023.05.18 |
---|---|
Spring Retry (0) | 2023.03.04 |
์น ์๋ฒ, ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ (0) | 2022.10.20 |
๊ธฐ์ด ์ง์ - 2 REST API (0) | 2022.09.01 |
๊ธฐ์ด ์ง์ - 1 (0) | 2022.09.01 |