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