1,建表 caogao_stu_teacher_to_create_table,存基础元数据信息
--(此数据现在Excel中准备好,再导入数据库)
CREATE TABLE `caogao_stu_teacher_to_create_table` (
`model_name` varchar(255) DEFAULT NULL,
`table_comment` varchar(255) DEFAULT NULL,
`table_comment2` varchar(255) DEFAULT NULL,
`table_name` varchar(255) DEFAULT NULL,
`column_name` varchar(255) DEFAULT NULL,
`column_comment` varchar(255) DEFAULT NULL,
`column_type` varchar(255) DEFAULT NULL,
`xml_select_id` varchar(500) DEFAULT NULL,
`entity_name` varchar(500) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2,建表,java_code_script,存生成的中间值内容:
CREATE TABLE `java_code_script` (
`model_name` varchar(255) DEFAULT NULL COMMENT '模块名称(学校、教师、学生)',
`table_name` varchar(255) DEFAULT NULL COMMENT '表名',
`xml_select_id` varchar(500) DEFAULT NULL,
`select_sql_script` varchar(1000) DEFAULT NULL COMMENT 'SQL查询脚本',
`xml_script` varchar(1000) DEFAULT NULL,
`entity_name` varchar(500) DEFAULT NULL,
`entity_script` varchar(1000) DEFAULT NULL,
`dao_script` varchar(1000) DEFAULT NULL,
`service_script` varchar(1000) DEFAULT NULL,
`service_impl_script` varchar(1000) DEFAULT NULL,
`controller_script` varchar(1000) DEFAULT NULL,
`table_comment` varchar(255) DEFAULT NULL,
`table_comment2` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3,根据Excel数据-批量生成建表脚本
-- 批量生成建表语句 -代码实现
select distinct concat(
'\r\n-- ',
t1.table_comment2,
'\r\n',
'DROP TABLE IF EXISTS ',
t1.table_name,
';\r\n'
'CREATE TABLE ',
t1.table_name,
' (\r\n\t',
'id varchar(50) DEFAULT NULL COMMENT ''id'',\r\n',
'data_date varchar(20) DEFAULT NULL COMMENT ''数据日期'',\r\n',
t3.merge_column,
'\r\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT=''',
t1.table_comment,
''';\r\n\r\n'
) as create_table_sql
from caogao_stu_teacher_to_create_table t1
left join (
select
t2.