IT/development

[IntelliJ] camelCase <-> snake_case ๋ณ€ํ™˜(feat. CamelCase plugin)

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

๋ชฉ์ฐจ

    camelCase <-> snake_case ๐Ÿ˜Š

    ๊ฐœ๋ฐœ์‹œ์— ๋Œ€์ฒด์ ์œผ๋กœ java์—์„œ๋Š” ์นด๋ฉœ์ผ€์ด์Šค(userName)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  DB ํ•„๋“œ๋Š” ์Šค์ผ€์ดํฌ์ผ€์ด์Šค(user_name)์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ˆ˜์ž‘์—…์œผ๋กœ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๊ดœ์ฐฎ์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋ฐœ๊ฒฌํ•ด์„œ ๊ธฐ๋กํ•œ๋‹ค.

    ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ CamelCase๋ฅผ ๊ฒ€์ƒ‰ํ•ด์„œ ์„ค์น˜ ํ›„

    IntellJ๋ฅผ ์žฌ์‹œ์ž‘ํ•œ ๋‹ค์Œ ์•„๋ž˜์ฒ˜๋Ÿผ ๊ฒ€์ƒ‰ํ•œ๋‹ค.

    ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ผ€์ด์Šค๊ฐ€ ์žˆ๋Š”๋ฐ ์ด ์ค‘์— ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ฒดํฌ ํ›„ ok๋ฅผ ๋ˆ„๋ฅธ๋‹ค.

    (์นด๋ฉœ์ผ€์ด์Šค ์—ฐ๊ฒฐ๋ฌธ์ž ์•ž๊ธ€์ž๋งŒ ๋Œ€๋ฌธ์ž๋กœ ํ•˜๊ณ  ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค๋Š” ์†Œ๋ฌธ์ž)

    ๊ทธ ๋’ค ์ผ€์ด์Šค ๋ณ€ํ™˜ํ•  ๋‹จ์–ด์— ์ปค์„œ๋ฅผ ๋‘๊ณ  shirt + alt + u๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ณ€ํ™˜์ด ๋œ๋‹ค.

    ์›ฌ๋งŒํ•˜๋ฉด ์ด ๋‹จ์ถ•ํ‚ค๊ฐ€ ๋จนํžˆ์ง€๋งŒ ํ˜น์‹œ ์•ˆ ๋จนํž ๊ฒฝ์šฐ ๋‹จ์ถ•ํ‚ค ๋ชฉ๋ก์—์„œ ์ค‘๋ณต๋˜๋Š”๊ฒŒ ์—†๋Š”์ง€ ํ™•์ธํ•  ๊ฒƒ

    ํ…Œ์ŠคํŠธ๋ฅผ ํ…Œ์ด๋ธ” ํ•„๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

    CREATE TABLE `t_board`(
                              `board_seq` bigint auto_increment,
                              `title` varchar (30),
                              `contents` varchar (30),
                              `name` varchar (30),
                              `reg_date` timestamp,
                              `update_date` timestamp,
                              primary key(board_seq)
    );

    mapper xml์—์„œ๋Š” ์–ธ๋”์Šค์ฝ”์–ด๋กœ java์—์„œ๋Š” ์นด๋ฉœ์ผ€์ด์Šค๋กœ ํ•ด์•ผ ๋œ๋‹ค.

    ์ด๋ฅผ ๊ฐ€์ง€๊ณ  vo์™€ mapper xml์„ ์„ธํŒ…ํ•  ๋•Œ CamelCase plugin๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์„ธํŒ…ํ•˜๋ฉด ํŽธํ•˜๋‹ค.

    ์˜ˆ์ œ์—์„œ๋Š” ํ•„๋“œ๊ฐ€ ๋ช‡๊ฐœ ์•ˆ๋˜์„œ ๊ทธ๋ ‡์ง€๋งŒ ํ•„๋“œ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ์ˆ˜๋™์œผ๋กœ ํ•˜๋Š” ๊ฒƒ๋ณด๋‹จ ํ›จ์”ฌ ๋‚ซ๋‹ค.


    ๋™์˜์ƒ ์ฒจ๋ถ€ ๐Ÿ˜„

    ๋Œ“๊ธ€