天天看点

动态改变、维护table列,动态显示table

1 数据类型

列动态显示、扩展,modelandview不合适,使用json数据类型。

2 动态url

代码中name和表名关联,能一个方法查询多个表。@PathVariable是用来获得请求url中的动态参数的。

@RequestMapping(value="/find/{name}",produces = "text/html;charset=UTF-8")
    @ResponseBody
    public String findComponentCpuHostAssets1(@PathVariable String name,@RequestParam("data") String json){
    }
           

3 动态查询表列名

需要一张专门维护列的表,INFORMATION_SCHEMA(schema就是数据库对象的集合) 访问mysql数据库的元数据,可以访问表的列名,关键sql:

select DISTINCT(column_name) from information_schema.columns where table_name='cpu';
           

4 统计表数据

简单工厂:生产同一等级任何产品(上帝类),对增加新产品无能为力,没遵循遵循开闭原则,不属于23设计模式;

工厂方法:工厂方法是针对每一种产品提供一个工厂类。减轻了工厂类的负担。支持拓展增加产品

抽象工厂:应对产品族概念。生产不同系列的全部产品,对增加新产品无能为力。不支持拓展增加产品;支持增加产品族

方便扩展表,用简单,类的结构如下图。

动态改变、维护table列,动态显示table