当前位置: 首页 > 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 映射的“隐藏规则” !!!
  • “五一”假期第三天,预计全社会跨区域人员流动量超2.8亿人次
  • 美股三大指数均收涨超1%,热门中概股强势拉升
  • 华尔兹转岗与鲁比奥集权:特朗普政府人事震荡背后的深层危机
  • 多地景区发公告称售票达接待峰值,有景区暂停网络和线下售票
  • 体坛联播|欧冠巴萨3比3战平国米,柯洁未进入国家集训队
  • 西班牙葡萄牙电力基本恢复