IT/development

[mybatis] mybatis ๋ฐฐ์—ด ์ €์žฅ(feat. foreach)

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2022. 11. 21.

์œ„์™€ ๊ฐ™์ด insert๋ฅผ 1๊ฐœ ์ด์ƒ ํ•˜๋Š” ๋กœ์ง์„ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๊ณ  ๋ฏธ๋ž˜์˜ ๋‚ด๊ฐ€ ๋ณด๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•œ๋‹ค. ๐Ÿ˜„

ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ฐฐ์—ด๋กœ ๊ฐ’์„ ๋ฐ›์•„์„œ DB์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ–ˆ๋‹ค.

์ฐธ๊ณ ๋กœ mysql๊ณผ Oracle์€ ๋ฌธ๋ฒ•์ด ๋‹ค๋ฅด๋‹ค.

Oracle์€ ์•„์ง ์•ˆํ•ด๋ด์„œ ๊ทธ๊ฑด ๋‚˜์ค‘์— ์•Œ์•„๋ณด๊ฒ ๋‹ค.

Controller

@RequestParam(value = "๋ณ€์ˆ˜๋ช…[]") String[] avengers ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐ›์Œ

@PostMapping("")
public ResponseEntity<?> createArray(
@RequestParam(value = "avengers[]") String[] avengers
) throws Exception{
Service.insertAvengers(avengers);
์ƒ๋žต...

Service

public void insertAvengers(String[] avengers) throws Exception {
		Mapper.insertAvengers(avengers);
	}

Mapper

public void insertAvengers(String[] avengers);

xml

๋ฐฐ์—ด๋กœ ๋„˜๊ฒผ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ collection์„  "array"๋กœ ํ•  ๊ฒƒ

<insert id="insertAvengers">
    INSERT INTO avengers
    (
        hero_name,
        reg_date
    )
    VALUES
    <foreach collection="array" item="item" separator=",">
    (
        #{item},
        NOW()
    )
    </foreach>
</insert>

๊ฐœ์ธ ์Šคํ„ฐ๋”” ๊ธฐ๋ก์„ ๋ฉ”๋ชจํ•˜๋Š” ๊ณต๊ฐ„์ด๋ผ ํ‹€๋ฆฐ์ ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‹€๋ฆฐ ์  ์žˆ์„ ๊ฒฝ์šฐ ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

 

[mybatis] mybatis ๋™์ ์ฟผ๋ฆฌ(feat. <where></where>)

๋ชฉ์ฐจ mybatis Dynamic SQL ๐Ÿ˜ƒ ๊ณ„์† ์‹ค์ˆ˜ ํ–ˆ๋˜ ๋™์ ์ฟผ๋ฆฌ์ด๋‹ค. ์˜ค๋Š˜ ๋‚˜๋Š” ์ด๊ฑธ ์ดํ•ด ํ–ˆ์ง€๋งŒ ๋ฏธ๋ž˜์˜ ๋„Œ ๋˜ ๊นŒ๋จน์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์—ฌ๊ธฐ์— ๋ฉ”๋ชจํ•ด ๋‘”๋‹ค. ๋™์  WHERE ํšŒ์› ํ…Œ์ด๋ธ”์—์„œ ํšŒ์›์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ์˜ ์กด์žฌ์—

yaga.tistory.com

 

[mybatis] foreach parameterType hashmap ์˜ˆ์ œ

๋ฏธ๋ž˜์˜ ๋‚˜๋ฅผ ์œ„ํ•ด ๊ธฐ๋กํ•œ๋‹ค. ๐Ÿ˜ƒmybatis์—์„œ foreach๋ฅผ ๋Œ๋ฆด ๋•Œ list๋Š” ์ด์ œ ์ข€ ์ต์ˆ™ํ•ด ์กŒ๋Š”๋ฐ map์€ ์•„์ง ์ข€ ์„œํˆฐ ๋А๋‚Œ์ด ๋“ค์–ด ๊ธฐ๋กํ•œ๋‹ค.์˜ˆ์ œ๋Š” ๋™์ ์œผ๋กœ insert๋ฌธ์˜ ๋‚ด์šฉ๊ณผ SELECT๋ฌธ์˜ ๋‚ด์šฉ์„ ์ฑ„์šฐ๋Š” ์˜ˆ

yaga.tistory.com

 

[mybatis] mybatis parameter ์—ฌ๋Ÿฌ๊ฐœ ์ „๋‹ฌ

๋ชฉ์ฐจ์˜ˆ๋ฅผ ๋“ค์–ด Stringํƒ€์ž…์˜ "status"์™€ Longํƒ€์ž…์˜ no, 2๊ฐœ์˜ parameter๊ฐ’์„ ๋ฐ›์•„์„œ ํ…Œ์ด๋ธ” ์—…๋ฐ์ดํŠธ ํ•˜๋ ค๋Š” ๋กœ์ง์ด ์žˆ์„ ์‹œ VO์งธ๋กœ ๋„˜๊ธฐ๊ธฐ์—” ๋ญ”๊ฐ€ ๋น„ํšจ์œจ์ ์ด๊ณ  ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ์ฝ”๋“œ๋ฅผ ๋ดค์„ ๋•Œ๋„ ์ง๊ด€์ ์ด

yaga.tistory.com

 

๋Œ“๊ธ€