호쌤
호쌤 Just For Fun

[MySQL] 테이블의 컬럼이름을 Pojo클래스 형태로 생성해 주는 SQL

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[MySQL] 테이블의 컬럼이름을 Pojo클래스 형태로 생성해 주는 SQL≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

[MySQL] 테이블의 컬럼이름을 Pojo클래스 형태로 생성해 주는 SQL

MySQL의 information_schema 데이터베이스에 저장되어 있는 테이블 정보들을 통해 Java에서 사용할 Pojo 클래스의 멤버변수 이름을 자동으로 생성하는 쿼리 입니다.

구문형식

1
2
3
SELECT CONCAT('private ', if(DATA_TYPE = 'int', 'int ', 'String '), LOWER(COLUMN_NAME), ';', if(COLUMN_COMMENT='', '', concat(' \t // ', COLUMN_COMMENT))) AS `value`
FROM information_schema.columns
WHERE table_schema = 'DB이름' AND table_name = '테이블이름';

사용예시

1
2
3
SELECT CONCAT('private ', if(DATA_TYPE = 'int', 'int ', 'String '), LOWER(COLUMN_NAME), ';', if(COLUMN_COMMENT='', '', concat(' \t // ', COLUMN_COMMENT))) AS `value`
FROM information_schema.columns
WHERE table_schema = 'myschool' AND table_name = 'student';

결과

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
+-----------------------------------------------+
| value                                         |
+-----------------------------------------------+
| private int studno;    // 학생번호            |
| private String name;   // 이름                |
| private String userid;         // 아이디      |
| private int grade;     // 학년                |
| private String idnum;          // 주민번호    |
| private String birthdate;      // 생년월일    |
| private String tel;    // 전화번호            |
| private int height;    // 키                  |
| private int weight;    // 몸무게              |
| private int deptno;    // 학과번호            |
| private int profno;    // 담당교수의 일련번호 |
+-----------------------------------------------+

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[MySQL] 테이블의 컬럼이름을 Pojo클래스 형태로 생성해 주는 SQL≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

comments powered by Disqus