一. 首先,在数据库有一张对应的表:

二. controller层代码如下:

 @PutMapping("/dynamicallyTable")public AjaxResult dynamicallyTable(@RequestBody Data data){List<Template> list = templateService.DynamicallyTable(data.getSid());//此处是判断表内是否有数据,有则可以继续向下执行,无则return "false"if (list.size()==0){return AjaxResult.success("未设置模板消息,请设置模板信息",false);}Project tablename = (Project) templateService.creatTableName(data.getSid());String name = tablename.getYear() + "_" + tablename.getName() + "_" + tablename.getStages().getName();//这里是应需求动态拼接的表名Map<String, String> mymap = new HashMap<>(); //使用map的key,value进行存值,key:"存的是field" ,value:"存储的是type"for (Template template : list) {String type = template.getType();String field = template.getField();mymap.put(field, type);//遍历template中的值将其分别存储到key,value中}templateService.creatTemplateTable(name, mymap);//此处的name为表名iStageService.updateByStageId(data.getSid(), name);return AjaxResult.success("成功生成定稿表");}

三 . Service接口及其实现类:

3.1 Service接口代码如下:

 /*** @Param name : 动态生成表的表名* @Param mymap: 表的列名及类型*/public void creatTemplateTable(String name, Map<String, String> mymap);

3.2 Service接口实现类代码如下:

  /*** @Param name : 动态生成表的表名* @Param mymap: 表的列名及类型*/
@Overridepublic void creatTemplateTable(String name, Map<String, String> mymap) {templateMapper.creatTemplateTable(name,mymap);}

四, Mapper接口及其Mapper.xml

4.1 Mapper接口:

  /*** @Param name : 动态生成表的表名* @Param mymap: 表的列名及类型*/
public void creatTemplateTable(@Param("name") String name,@Param("mymap") Map<String, String> mymap);

4.2 Mapper.xml:

    <update id="creatTemplateTable" parameterType="map">create table ${name} (`id` int(11) NOT NULL AUTO_INCREMENT,<foreach collection="mymap" index="key"  item="value" separator=",">${key} ${value}(4000)</foreach>,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8</update>

使用Mybatis动态生成MySQL表相关推荐

  1. 通过表单设计器动态生成数据库表以及动态查询的功能实现

    表单设计器动态生成数据库表以及动态查询的功能实现 前言 1. 功能实现 1.1 效果说明 1.2 功能流程图 1.3 具体后端实现 1.4 实现效果 2. 尾声 前言 前两天安排了作为Java小码农的 ...

  2. 使用Vue动态生成form表单的实例代码

    具有数据收集.校验和提交功能的表单生成器,包含复选框.单选框.输入框.下拉选择框等元素以及,省市区三级联动,时间选择,日期选择,颜色选择,文件/图片上传功能,支持事件扩展. 欢迎大家star学习交流: ...

  3. Vue+Element动态生成新表单并添加验证

    Vue+Element动态生成新表单并添加验证 首先,有这样一个需求,表单中默认有表单项,点击新增,会多出一项. 点击之后 官方文档中有写用v-for来实现新增表单,但是那是单表单的新增,现在多表单的 ...

  4. (Java程序)Excel自动生成mysql表

    读取excel生成字段 最近项目中遇到了一个费时间的事,就花了点时间写了一个小程序来做这件事. description:现在在项目的前期设计阶段,需要从excel的数据库表格字段生成数据库,开始是手动 ...

  5. 动态生成form表单,不在为表单烦恼

    form-create 具有动态渲染.数据收集.校验和提交功能的表单生成器,动态生成Form表单.支持双向数据绑定和事件扩展,组件包含有复选框.单选框.输入框.下拉选择框等表单元素以及省市区三级联动, ...

  6. java实体类生成mysql表_springboot+mybatis通过实体类自动生成数据库表的方法

    前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表. 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 org.mybatis ...

  7. c 自动生成mysql表结构_EntityFrameworkCore 根据实体类自动创建数据库

    1.首先新建 Asp.Net Core WebApi 项目 2.添加一下引用 : 2.1   Pomelo.EntityFrameworkCore.MySql(我用的Mysql 根据自己情况引用就行) ...

  8. 使用ef core自动生成mysql表和数据编码的问题

    mysql默认的编码是不支持中文的,需要改成utf8编码格式. 而我使用的Pomelo.EntityFrameworkCore.MySql组件生成mysql库和表,他是使用默认编码的. 网上大多说修改 ...

  9. 根据excel列动态创建mysql表_根据数据库字段动态生成excel模版下载,上传模版获取数据存入数据库(poi 反射)...

    环境:mysql5.7.28 java8 Spring boot 2.2.4 mybatis-plus3.10 动态:根据需求,用户可以选择对应的字段生成excle模版 下载 poi 反射:poi是e ...

最新文章

  1. asp.net 2.0中用GRIDVIEW插入新记录
  2. oracle中创建触发器
  3. scrcpy投屏_安卓投屏利器——PC一键控制多台手机
  4. SpringBoot+Vue博客系统---后端接口开发
  5. 搭建小程序表情包教程
  6. 在Java中如何从一个多层嵌套循环中直接跳出?
  7. tensorflow2.0对应python版本_TensorFlow2.1.0最新版本安装详细教程
  8. Linux系统安装pgp教程,在Linux系统下安装pgpcommandline
  9. AxureShare太慢?尝试在内网架设Axure共享吧!
  10. 马知恩周义仓编常微分方程定性与稳定性方法部分习题参考解答
  11. 23 期-原文 6.30
  12. AutoCAD Civil 3D中的对象和标签
  13. 智能水表自动抄表协议cjt188远传协议,支持地址自动分配检查,灵活好用、Mbus通讯测试工具是一款水表等设备的测试工具
  14. 神经网络(4)---神经网络是如何帮助我们学习复杂的nonlinear hypotheses
  15. tf.clip_by_global_norm详解
  16. VMware安装虚拟机详细教程
  17. 6、英飞凌-AURIX-TC3XX: PWM实验之使用 GTM -ATOM 实现
  18. 2021年安全员-A证报名考试及安全员-A证考试资料
  19. H5 p,b,i,em,u,s标签
  20. 深入浅出计算机组成原理20-面向流水线的指令设计(上):一心多用的现代CPU

热门文章

  1. 人生之路1.18.05优化
  2. 低耦合高内聚什么意思?
  3. EtherCAT运动控制卡开发教程之Qt(中):小线段连续轨迹加工、暂停与继续
  4. 结合3种无线电接收机架构实现多个灵活模拟带宽以应对不同应用场景
  5. 第一章 第一节:Python基础_认识Python
  6. maven生命周期表
  7. 一个成年人一天需要睡多久?
  8. 使用开源微前端框架 Luigi 创建一个基于微前端架构的工程
  9. k3wise域服务器登录证书,K3WISE疑难杂症问题解析(七)
  10. 【转】CxImage图像库的使用