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

基于MySQL的创建<resultMap>和查询条件<if test>

基于MySQL的创建<resultMap>和查询条件<if test>

基于MySQL的创建<resultMap>和查询条件<if test>



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  implements  Serializable{ ') as `bbb`,

--    @Schema(description = "货物名称")
--    private String cargoName 

--     `TABLE_COMMENT`,
--     `TABLE_NAME`,
--     `TABLE_NAME_NEW`,
    'SELECT' AS `SELECT`,
    `COLUMN_NAME`,
    'FROM' AS `from`,
    concat(`TABLE_SCHEMA`,'.',`TABLE_NAME`) AS `from_table`,
    `TABLE_SCHEMA`,
    `TABLE_NAME`,
    `COLUMN_NAME`,
    `CamelCaseColumn`,
    `DATA_TYPE`,
   
    /* ========= */
    concat('<result property="', `CamelCaseColumn` ,'" column="', COLUMN_NAME ,'"/>') as resultMap,
    /* ========= */
    CASE WHEN `DATA_TYPE` = 'String'
    	THEN 
    	/* ========= */
    	concat( /**/
	    	'<if test="query.', `CamelCaseColumn`,  '!= null',
		    	/**/
	    		' and query.', `CamelCaseColumn`,' != ''''">\n',
	    		/**/
				' and ',`COLUMN_NAME`,' = #{query.', `CamelCaseColumn`,'}\n' 
			 	/**/
			'</if>' )
    	/* ========= */
    	
    ELSE
    /* ========= */
     concat( /**/
	    	'<if test="query.', `CamelCaseColumn`,  '!= null">\n',
	    		/**/
				' and ',`COLUMN_NAME`,' = #{query.', `CamelCaseColumn`,'}\n' 
			 	/**/
			'</if>' )
    /* ========= */
    END AS `if_test`,
    
    

/* ==============================  */
  1 AS tt
/* ==============================  */
/* ==============================  */
/* ==============================  */
/* ==============================  */
/* ==============================  */    
from
    (
    /**/
    select 
        ORDINAL_POSITION,
        TABLE_COMMENT,
        TABLE_SCHEMA,
        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`,
         'private' as `prefix`,    
         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 'Date'
          WHEN 'YEAR' THEN 'Date'
          WHEN 'TIME' THEN 'Time'
         /* WHEN 'DATETIME' THEN 'Timestamp'*/
         /* WHEN 'TIMESTAMP' THEN 'Timestamp'*/
          WHEN 'DATETIME' THEN 'Date'
          WHEN 'TIMESTAMP' THEN 'Date'
          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,
            `columns`.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    








相关文章:

  • zookeepernacoskafka之间的联系
  • Linux系统上后门程序的原理细节,请仔细解释一下
  • 【GeeRPC】项目总结:使用 Golang 实现 RPC 框架
  • PostgreSQL:语言基础与数据库操作
  • Cloudlog系统接口 search_log未授权存在SQL注入漏洞代码审计(DVB-2025-8964)
  • 大数据 ETL 异常值缺失值处理完整方案
  • 美团-测开
  • git tag常用操作
  • gem rbenv介绍【前端扫盲】
  • 泰勒多项式
  • 星越L_第二排座椅/头枕使用讲解
  • ABAQUS球体颗粒重力堆积3D模型
  • Spring 中的 AOP 实现机制
  • Day67 | 灵神 | 二分查找:统计公平数对的数目
  • 信息学奥赛一本通 1525:电力 | OpenJudge 百练 2117:Electricity
  • Unity NodeCanvas AI使用笔记
  • MR-Flink-Spark任务提交-常用命令
  • Python赋能区块链溯源系统:从技术实现到应用落地
  • VBA技术资料MF281:驱动器列表和类型
  • HarmonyOS开发,解决Kill server failed 报错问题
  • 2025年4月份CPI环比由降转涨,核心CPI涨幅稳定
  • 工程院院士葛世荣获聘任为江西理工大学校长
  • 央行最新报告:积极落地5月推出的一揽子金融政策,促进经济供需平衡、物价合理回升
  • 北外滩集团21.6亿元摘上海虹口地块,为《酱园弄》取景地
  • “仓促、有限”,美英公布贸易协议框架,两国分别获得了什么?
  • 重温经典|《南郭先生》:不模仿别人,不重复自己