当前位置: 首页 > news >正文

基于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    




相关文章:

  • DeepSeek-R1深度解读
  • Vue + CSS实现渐变栅格进度条
  • 【机器学习】强化学习
  • 鬼泣:动作系统3
  • 服装零售行业数字化时代的业务与IT转型规划P111(111页PPT)(文末有下载方式)
  • springmvc中使用interceptor拦截
  • PyTorch使用(2)-张量数值计算
  • mysql解析器和优化器
  • Solana笔记案例:写一个SOL转账程序
  • DeepSeek写打台球手机小游戏
  • 后端接口开发完成后,接口地址访问不到提示404,Spring项目的包结构错误
  • [特殊字符]1.2.1 新型基础设施建设
  • 手搓聊天室1.0.0----基于ws和protobuf协议
  • git 查看某个函数的所有提交日志
  • 友思特应用 | 行业首创:基于深度学习视觉平台的AI驱动轮胎检测自动化
  • Linux安装Elasticsearch集群-----docker安装es集群
  • FastJson:JSON JSONObject JSONArray详解以及SimplePropertyPreFilter 的介绍
  • 虚拟电商-延迟任务系统的微服务改造(二)注册中心和Feign调用
  • RAG工具框架针对的常见问题
  • 前端字段名和后端不一致?解锁 JSON 映射的“隐藏规则” !!!
  • 印度媒体称印巴在克什米尔再次交火
  • 苏迪曼杯即将在厦门打响,国羽向创纪录的14冠进军
  • 讲座预告|大国博弈与创新破局:如何激励中国企业创新
  • 第六次“太空会师”,神舟二十号3名航天员顺利进驻中国空间站
  • 从“龙队”到“龙副主席”,国乒这批退役球员为何不当教练了
  • 央行副行长:上海国际金融中心建设是我国参与国际金融竞争的核心载体