当前位置: 首页 > 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    








http://www.dtcms.com/a/77630.html

相关文章:

  • 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 报错问题
  • electron 入门
  • Java 异常处理
  • 泰瑞达 ETS-88设备整理
  • 【Java】方法
  • ElasticSearch 7.x 集群 + Kibana 部署完全指南(5节点)
  • 【无标题】RegisterClassObjects
  • 全方位对比oracle18c和oracle 19c
  • 使用码云搭建CocoaPods远程私有库
  • java面试题,什么是动态代理?、动态代理和静态代理有什么区别?说一下反射机制?JDK Proxy 和 CGLib 有什么区别?动态代理的底层
  • List、Set 和 Map 的区别及常见实现类、线程安全集合(总结图表)