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
'Kotlin' 카테고리의 다른 글
[Kotlin] Intellij에서 Kotlin SDK를 실수로 삭제 했을때 (0) | 2022.02.23 |
---|---|
[Kotlin] 리플렉션(Reflection) 으로 제네릭(Generic) 객체 생성하기 (0) | 2021.08.02 |
[Kotlin] Java 코드(Function, static, IntStream, mapToObj) -> Kotlin 코드 변환 (0) | 2021.08.01 |
[Kotlin] Spring 리소스(Resource) to File 파일변환 (0) | 2021.08.01 |
[Kotlin] Spring 리소스(Resource) 파일 읽어오기, 다운로드 (0) | 2021.08.01 |
댓글