Kotlin

[Kotlin] Kotlin Entity Field 생성 SQL

nineDeveloper 2021. 10. 6.
728x90

이 글을 진행하기에 앞서 아래의 SQL은 MySQL 기준으로 작성되었다

아래의 SQL을 수행하기위해 initcap, snake_to_camel Function을 생성하는 선행 작업이 필요하다

https://freedeveloper.tistory.com/482

Java Entity를 생성해주는 IntelliJ Plugin이 있는데 아직까지 Kotlin Entity를 생성해주는 IntelliJ Plugin은 아직까지 없는 것 같아서

편의상 field를 생성해주는 sql을 작성해보았다

SELECT a.column_name,
       a.column_comment,
       a.DATA_TYPE,
       concat('@field:Schema(title = \"', a.column_comment, '\")\n','var ',
              snake_to_camel(a.COLUMN_NAME ),
              case when a.DATA_TYPE = 'bigint' then ': Long? = null'
                   when a.DATA_TYPE = 'int' then ': Int? = null'
                   when a.DATA_TYPE = 'tinyint' then ': Boolean? = null'
                   when a.DATA_TYPE = 'datetime' then ': LocalDateTime? = null'
                   else ': String? = null' end,
           ',\n'
        ) camel
FROM information_schema.columns a
inner join information_schema.TABLES b on a.TABLE_NAME = b.TABLE_NAME and a.TABLE_SCHEMA = b.TABLE_SCHEMA
WHERE a.table_schema = ':schema'
  AND a.table_name = ':table_name'
order by a.table_name, a.ORDINAL_POSITION;

camel 컬럼에 생성된 데이터를 긁어다가 field 영역에 붙여넣기 하면 된다

DataGrip 사용시 주의할점

DataGrip 사용시 Data Extractor에 의해 자동으로 복사한 데이터가 변환된다
복사한 그대로 적용되기 위해서는 None 타입의 Data Extractor를 아래와 같이 생성해서 사용하면된다

728x90

댓글

💲 추천 글