基于MySQL的创建Java实体Bean和TypeScript实体Bean
基于MySQL的创建Java实体Bean和TypeScript实体Bean
基于MySQL的创建Java实体Bean和TypeScript实体Bean
select
`ORDINAL_POSITION` as `a`,
-- @Data
-- @Schema(description = "货物管理表")
-- @TableName("lpg_cargo")
-- public class CargoEntity implements Serializable{
concat('@Data \n @Schema(description = "',`TABLE_COMMENT`,'") \n @TableName("',`TABLE_NAME`, '")') as `aaa`,
concat('public class ', `TABLE_NAME_NEW`,'Entity extends Model<', `TABLE_NAME_NEW`,'>{ ') as `bbb`,
`DATA_TYPE`,
concat('//',COLUMN_COMMENT)AS COLUMN_COMMENT,
CamelCaseColumn,
-- TYPE JS 实体
concat('//',COLUMN_COMMENT,'\n',
CamelCaseColumn,
CASE WHEN `DATA_TYPE` = 'String' THEN ': string | undefined = undefined;'
WHEN `DATA_TYPE` = 'Long' THEN ': number | undefined = undefined;'
WHEN `DATA_TYPE` = 'Integer' THEN ': number | undefined = undefined;'
WHEN `DATA_TYPE` = 'BigDecimal' THEN ': number | undefined = undefined;'
ELSE ': String | undefined = undefined;'
END
)AS typeJsEntity,
-- @Schema(description = "货物名称")
-- private String cargoName
-- `TABLE_COMMENT`,
-- `TABLE_NAME`,
-- `TABLE_NAME_NEW`,
concat(
/*=====注释========*/
'/**\n* ',COLUMN_COMMENT, '\n*/',
/*======字段映射=======*/
'\n@TableField(value = "',COLUMN_NAME,'",property = "',CamelCaseColumn,'")',
/*====swagger========*/
'\n@Schema(description = "',COLUMN_COMMENT,'")\n',
/*=====BEAN字段=======*/
`prefix`,' ',`DATA_TYPE`,' ',`CamelCaseColumn`,';') as CamelCaseColumn
/* ============================== */
/* ============================== */
/* ============================== */
/* ============================== */
from
(
/**/
select
'private' as `prefix`,
ORDINAL_POSITION,
TABLE_COMMENT,
TABLE_NAME,
COLUMN_NAME,
replace(replace(replace(replace(replace(replace(replace( replace(replace( replace(replace(replace(replace(replace(replace( replace( replace( replace( replace(replace(replace( replace( replace( replace( replace( replace( replace(TABLE_NAME, '_a', 'A'), '_b', 'B'), '_c', 'C'), '_d', 'D'), '_e', 'E'), '_f', 'F'), '_g', 'G')
, '_h', 'H'), '_i', 'I'), '_j', 'J'), '_k', 'K'), '_l', 'L'), '_m', 'M'), '_n', 'N'), '_o', 'O'), '_p', 'P'), '_q', 'Q'), '_r', 'R'), '_s', 'S'), '_t', 'T'), '_u', 'U')
, '_v', 'V'), '_w', 'W'), '_x', 'X'), '_y', 'Y'), '_z', 'Z'), '_', '') as `TABLE_NAME_NEW`,
/* ================ */
replace(replace(replace(replace(replace(replace(replace( replace(replace( replace(replace(replace(replace(replace(replace( replace( replace( replace( replace(replace(replace( replace( replace( replace( replace( replace( replace(COLUMN_NAME, '_a', 'A'), '_b', 'B'), '_c', 'C'), '_d', 'D'), '_e', 'E'), '_f', 'F'), '_g', 'G')
, '_h', 'H'), '_i', 'I'), '_j', 'J'), '_k', 'K'), '_l', 'L'), '_m', 'M'), '_n', 'N'), '_o', 'O'), '_p', 'P'), '_q', 'Q'), '_r', 'R'), '_s', 'S'), '_t', 'T'), '_u', 'U')
, '_v', 'V'), '_w', 'W'), '_x', 'X'), '_y', 'Y'), '_z', 'Z'), '_', '') as `CamelCaseColumn`,
/* ================ */
case
upper(DATA_TYPE)
when 'VARCHAR' then 'String'
when 'CHAR' then 'String'
when 'TEXT' then 'String'
when 'INT' then 'Integer'
when 'TINYINT' then 'Integer'
when 'SMALLINT' then 'Integer'
when 'MEDIUMINT' then 'Integer'
when 'BOOLEAN' then 'Integer'
when 'BIGINT' then 'Long'
when 'INTEGER' then 'Long'
when 'ID' then 'Long'
when 'FLOAT' then 'Float'
when 'DOUBLE' then 'Double'
when 'DECIMAL' then 'BigDecimal'
when 'BIT' then 'Boolean'
/*WHEN 'BLOB' THEN 'byte[]'*/
when 'BLOB' then 'byte[]'
/* 日期格式*/
when 'DATE' then 'LocalDateTime'
/* WHEN 'DATE' THEN 'Date'*/
when 'YEAR' then 'Date'
when 'TIME' then 'Time'
/* WHEN 'DATETIME' THEN 'Timestamp'*/
/* WHEN 'TIMESTAMP' THEN 'Timestamp'*/
when 'DATETIME' then 'LocalDateTime'
when 'TIMESTAMP' then 'LocalDateTime'
else 'String '
end as `DATA_TYPE`,
';' as `suffix`,
COLUMN_COMMENT
from
(
/* === */
select
`tables`.TABLE_SCHEMA,
`tables`.TABLE_NAME,
`tables`.TABLE_COMMENT,
`columns`.ORDINAL_POSITION,
-- `columns`.TABLE_NAME,
lower(`columns`.COLUMN_NAME) AS COLUMN_NAME,
`columns`.DATA_TYPE,
`columns`.COLUMN_COMMENT
from
INFORMATION_SCHEMA.Tables as `tables`
left join INFORMATION_SCHEMA.COLUMNS as `columns`
on
`columns`.TABLE_NAME = `tables`.TABLE_NAME
/* ============================== */
/* ============================== */
/* ============================== */
/* ============================== */
where
`tables`.TABLE_SCHEMA = '数据库名称'
and `tables`.TABLE_NAME = '表名称 '
/* ============================== */
/* ============================== */
/* ============================== */
/* ============================== */
order by
`columns`.ORDINAL_POSITION
/* === */
)as tmp
order by
ORDINAL_POSITION
/**/
)as ttt
order by
ORDINAL_POSITION