• 单体架构代码


    一、Maven项目代码

       1、foodie-dev父工程项目 

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.imooc</groupId>
        <artifactId>foodie-dev</artifactId>
        <version>1.0-SNAPSHOT</version>
        <modules>
            <module>foodie-dev-common</module>
            <module>foodie-dev-pojo</module>
            <module>foodie-dev-mapper</module>
            <module>foodie-dev-service</module>
            <module>foodie-dev-api</module>
        </modules>
        <packaging>pom</packaging>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.4.3</version>
            <relativePath />
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
    <!--            <exclusions>-->
    <!--                <exclusion>-->
    <!--                    <groupId>org.springframework.boot</groupId>-->
    <!--                    <artifactId>spring-boot-starter-logging</artifactId>-->
    <!--                </exclusion>-->
    <!--            </exclusions>-->
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>
    
            <!-- mysql驱动 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.11</version>
            </dependency>
            <!-- mybatis -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.1.0</version>
            </dependency>
    
            <!-- 通用mapper逆向工具 -->
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>2.1.5</version>
            </dependency>
    
        </dependencies>
    
    </project>
    项目Pom

    2、common子模块 pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>foodie-dev</artifactId>
            <groupId>com.imooc</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <packaging>jar</packaging>
        <artifactId>foodie-dev-common</artifactId>
    
    
    </project>
    common子模块pom.xml

      3、pojo子模块 pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>foodie-dev</artifactId>
            <groupId>com.imooc</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <packaging>jar</packaging>
        <artifactId>foodie-dev-pojo</artifactId>
    
         <dependencies>
             <dependency>
                 <groupId>com.imooc</groupId>
                 <artifactId>foodie-dev-common</artifactId>
                 <version>1.0-SNAPSHOT</version>
             </dependency>
         </dependencies>
    
    </project>
    Pojo子模块pom.xml

     4、mapper子模块 pom.xml 

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>foodie-dev</artifactId>
            <groupId>com.imooc</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <packaging>jar</packaging>
        <artifactId>foodie-dev-mapper</artifactId>
    
        <dependencies>
            <!--
               mapper -> pojo -> common
               mapper通过pojo是可以使用common中相应的方法的
            -->
            <dependency>
                <groupId>com.imooc</groupId>
                <artifactId>foodie-dev-pojo</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>
    
    </project>
    mapper子模块pom

     5、service子模块 pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>foodie-dev</artifactId>
            <groupId>com.imooc</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <packaging>jar</packaging>
        <artifactId>foodie-dev-service</artifactId>
    
        <dependencies>
            <!--
           service -> mapper -> pojo -> common
           service通过pojo是可以使用common中相应的方法的
        -->
            <dependency>
                <groupId>com.imooc</groupId>
                <artifactId>foodie-dev-mapper</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>
    </project>
    service子模块 pom.xml

     6、api子模块Pom.xml   

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <parent>
            <artifactId>foodie-dev</artifactId>
            <groupId>com.imooc</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
       <packaging>jar</packaging>
        <artifactId>foodie-dev-api</artifactId>
    
          <dependencies>
              <!--
       api ->   service -> mapper -> pojo -> common
       api 可以使用 service、pojo、common中相应的方法的
    -->
              <dependency>
                  <groupId>com.imooc</groupId>
                  <artifactId>foodie-dev-service</artifactId>
                  <version>1.0-SNAPSHOT</version>
              </dependency>
    
    
          </dependencies>
    
    </project>
    api子模块pom.xml
    package com.imooc;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import tk.mybatis.spring.annotation.MapperScan;
    
    @SpringBootApplication
    @MapperScan(basePackages = "com.imooc.mapper")
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class,args);
        }
    }
    Application
    package com.imooc.controller;
    
    import com.imooc.service.StuService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class StuFooController {
    
        @Autowired
        private StuService stuService;
    
        @GetMapping("/getStu")
        public Object getStu(int id){
    
            return stuService.getStuInfo(id);
        }
    
        @PostMapping("/saveStu")
        public Object saveStu(){
             stuService.saveStu();
             return "OK";
        }
    
    
        @PostMapping("/updateStu")
        public Object updateStu(int id){
            stuService.updateStu(id);
            return "OK";
        }
    
    
        @PostMapping("/deleteStu")
        public Object deleteStu(int id){
            stuService.deleteStu(id);
            return "OK";
        }
    }
    StuFooController
    ############################################################
    #
    # web访问端口号  约定:8088
    #
    ############################################################
    server:
      port: 8088
      tomcat:
        uri-encoding: UTF-8
      max-http-header-size: 80KB
    
    ############################################################
    #
    # 配置数据源信息
    #
    ############################################################
    spring:
      datasource:                                           # 数据源的相关配置
        type: com.zaxxer.hikari.HikariDataSource          # 数据源类型:HikariCP
        driver-class-name: com.mysql.cj.jdbc.Driver          # mysql驱动
        url: jdbc:mysql://127.0.0.1:3306/foodie-shop-dev?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true
        username: root
        password:  root
        hikari:
          connection-timeout: 30000       # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒
          minimum-idle: 5                 # 最小连接数
          maximum-pool-size: 20           # 最大连接数
          auto-commit: true               # 自动提交
          idle-timeout: 600000            # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
          pool-name: DateSourceHikariCP     # 连接池名字
          max-lifetime: 1800000           # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms
          connection-test-query: SELECT 1
    
    ############################################################
    #
    # mybatis 配置
    #
    ############################################################
    mybatis:
      type-aliases-package: com.imooc.pojo          # 所有POJO类所在包路径
      mapper-locations: classpath:mapper/*.xml      # mapper映射文件
    
    ############################################################
    #
    # mybatis mapper 配置
    #
    ############################################################
    # 通用 Mapper 配置
    mapper:
      mappers: com.imooc.my.mapper.MyMapper
      not-empty: false
      identity: MYSQL
    配置文件application.yml

    二、数据库代码

    {
      "modules": [
        {
          "name": "foodie-shop",
          "chnname": "天天吃货",
          "entities": [
            {
              "title": "carousel",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "主键",
                  "relationNoShow": false,
                  "pk": true,
                  "notNull": true,
                  "uiHint": ""
                },
                {
                  "name": "image_url",
                  "type": "Name",
                  "remark": "图片地址",
                  "chnname": "图片",
                  "relationNoShow": false,
                  "notNull": true
                },
                {
                  "name": "background_color",
                  "type": "DefaultString",
                  "remark": "背景颜色",
                  "chnname": "背景色"
                },
                {
                  "name": "item_id",
                  "type": "LongKey",
                  "remark": "商品id",
                  "chnname": "商品id"
                },
                {
                  "name": "cat_id",
                  "type": "LongKey",
                  "remark": "商品分类id",
                  "chnname": "商品分类id"
                },
                {
                  "name": "type",
                  "type": "Integer",
                  "remark": "轮播图类型,用于判断,可以根据商品id或者分类进行页面跳转,1:商品 2:分类",
                  "chnname": "轮播图类型",
                  "notNull": true
                },
                {
                  "name": "sort",
                  "type": "Integer",
                  "remark": "轮播图展示顺序,从小到大",
                  "chnname": "轮播图展示顺序",
                  "notNull": true
                },
                {
                  "name": "is_show",
                  "type": "Integer",
                  "remark": "是否展示,1:展示    0:不展示",
                  "chnname": "是否展示",
                  "notNull": true
                },
                {
                  "name": "create_time",
                  "type": "DateTime",
                  "remark": "创建时间",
                  "chnname": "创建时间",
                  "notNull": true
                },
                {
                  "name": "update_time",
                  "type": "DateTime",
                  "remark": "更新",
                  "chnname": "更新时间",
                  "notNull": true
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "轮播图"
            },
            {
              "title": "category",
              "fields": [
                {
                  "name": "id",
                  "type": "Integer",
                  "remark": "分类id主键",
                  "chnname": "主键",
                  "pk": true,
                  "notNull": true,
                  "autoIncrement": true,
                  "relationNoShow": false,
                  "uiHint": ""
                },
                {
                  "name": "name",
                  "type": "DefaultString",
                  "remark": "分类名称",
                  "chnname": "分类名称",
                  "pk": false,
                  "notNull": true
                },
                {
                  "name": "type",
                  "type": "Integer",
                  "remark": "分类得类型,
    1:一级大分类
    2:二级分类
    3:三级小分类",
                  "chnname": "分类类型",
                  "notNull": true
                },
                {
                  "name": "father_id",
                  "type": "Integer",
                  "remark": "父id 上一级依赖的id,1级分类则为0,二级三级分别依赖上一级",
                  "chnname": "父id",
                  "notNull": true
                },
                {
                  "name": "logo",
                  "type": "LongKey",
                  "remark": "logo",
                  "chnname": "图标",
                  "notNull": false
                },
                {
                  "name": "slogan",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "口号",
                  "notNull": false
                },
                {
                  "name": "cat_image",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "分类图",
                  "notNull": false
                },
                {
                  "name": "bg_color",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "背景颜色"
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "商品分类"
            },
            {
              "title": "users",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "用户id",
                  "chnname": "主键id",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "username",
                  "type": "DefaultString",
                  "remark": "用户名",
                  "chnname": "用户名",
                  "pk": false,
                  "notNull": true
                },
                {
                  "name": "password",
                  "type": "LongKey",
                  "remark": "密码",
                  "chnname": "密码",
                  "notNull": true
                },
                {
                  "name": "nickname",
                  "type": "DefaultString",
                  "remark": "昵称",
                  "chnname": "昵称"
                },
                {
                  "name": "realname",
                  "type": "Name",
                  "remark": "真实姓名",
                  "chnname": "真实姓名"
                },
                {
                  "name": "face",
                  "type": "MiddleString",
                  "remark": "头像",
                  "chnname": "头像",
                  "notNull": true
                },
                {
                  "name": "mobile",
                  "type": "DefaultString",
                  "remark": "手机号",
                  "chnname": "手机号"
                },
                {
                  "name": "email",
                  "type": "DefaultString",
                  "remark": "邮箱地址",
                  "chnname": "邮箱地址"
                },
                {
                  "name": "sex",
                  "type": "Integer",
                  "remark": "性别 1:男  0:女  2:保密",
                  "chnname": "性别"
                },
                {
                  "name": "birthday",
                  "type": "Date",
                  "remark": "生日",
                  "chnname": "生日"
                },
                {
                  "name": "created_time",
                  "type": "DateTime",
                  "remark": "创建时间",
                  "chnname": "创建时间",
                  "notNull": true
                },
                {
                  "name": "updated_time",
                  "type": "DateTime",
                  "remark": "更新时间",
                  "chnname": "更新时间",
                  "notNull": true
                }
              ],
              "indexs": [
                {
                  "name": "username",
                  "isUnique": true,
                  "fields": [
                    "username"
                  ]
                }
              ],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "用户表"
            },
            {
              "title": "user_address",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "地址主键id",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "user_id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "关联用户id",
                  "notNull": true
                },
                {
                  "name": "receiver",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "收件人姓名",
                  "notNull": true
                },
                {
                  "name": "mobile",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "收件人手机号",
                  "notNull": true
                },
                {
                  "name": "province",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "省份",
                  "notNull": true
                },
                {
                  "name": "city",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "城市",
                  "notNull": true
                },
                {
                  "name": "district",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "区县",
                  "notNull": true
                },
                {
                  "name": "detail",
                  "type": "Name",
                  "remark": "",
                  "chnname": "详细地址",
                  "notNull": true
                },
                {
                  "name": "extand",
                  "type": "Name",
                  "remark": "",
                  "chnname": "扩展字段"
                },
                {
                  "name": "is_default",
                  "type": "Integer",
                  "remark": "1:是  0:否",
                  "chnname": "是否默认地址"
                },
                {
                  "name": "created_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "创建时间",
                  "notNull": true
                },
                {
                  "name": "updated_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "更新时间",
                  "notNull": true
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "用户地址表"
            },
            {
              "title": "items",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "商品主键id",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "item_name",
                  "type": "IdOrKey",
                  "remark": "商品名称",
                  "chnname": "商品名称",
                  "notNull": true
                },
                {
                  "name": "cat_id",
                  "type": "Integer",
                  "remark": "分类id",
                  "chnname": "分类外键id",
                  "notNull": true
                },
                {
                  "name": "root_cat_id",
                  "type": "Integer",
                  "remark": "一级分类id,用于优化查询",
                  "chnname": "一级分类外键id",
                  "notNull": true
                },
                {
                  "name": "sell_counts",
                  "type": "Integer",
                  "remark": "累计销售",
                  "chnname": "累计销售",
                  "notNull": true
                },
                {
                  "name": "on_off_status",
                  "type": "Integer",
                  "remark": "上下架状态,1:上架 2:下架",
                  "chnname": "上下架状态",
                  "notNull": true
                },
                {
                  "name": "content",
                  "type": "LongText",
                  "remark": "商品内容",
                  "chnname": "商品内容",
                  "notNull": true
                },
                {
                  "name": "created_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "创建时间",
                  "notNull": true
                },
                {
                  "name": "updated_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "更新时间",
                  "notNull": true
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "商品表",
              "remark": "商品信息相关表:分类表,商品图片表,商品规格表,商品参数表"
            },
            {
              "title": "items_img",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "图片主键",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "item_id",
                  "type": "LongKey",
                  "remark": "商品外键id",
                  "chnname": "商品外键id",
                  "notNull": true
                },
                {
                  "name": "url",
                  "type": "Name",
                  "remark": "图片地址",
                  "chnname": "图片地址",
                  "notNull": true
                },
                {
                  "name": "sort",
                  "type": "Integer",
                  "remark": "图片顺序,从小到大",
                  "chnname": "顺序",
                  "notNull": true
                },
                {
                  "name": "is_main",
                  "type": "Integer",
                  "remark": "是否主图,1:是,0:否",
                  "chnname": "是否主图",
                  "notNull": true
                },
                {
                  "name": "created_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "创建时间",
                  "notNull": true
                },
                {
                  "name": "updated_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "更新时间",
                  "notNull": true
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "商品图片"
            },
            {
              "title": "items_spec",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "商品规格id",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "item_id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "商品外键id",
                  "notNull": true
                },
                {
                  "name": "name",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "规格名称",
                  "notNull": true
                },
                {
                  "name": "stock",
                  "type": "Integer",
                  "remark": "",
                  "chnname": "库存",
                  "notNull": true
                },
                {
                  "name": "discounts",
                  "type": "Ratio",
                  "remark": "",
                  "chnname": "折扣力度",
                  "notNull": true
                },
                {
                  "name": "price_discount",
                  "type": "Integer",
                  "remark": "",
                  "chnname": "优惠价",
                  "notNull": true
                },
                {
                  "name": "price_normal",
                  "type": "Integer",
                  "remark": "",
                  "chnname": "原价",
                  "notNull": true
                },
                {
                  "name": "created_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "创建时间",
                  "notNull": true
                },
                {
                  "name": "updated_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "更新时间",
                  "notNull": true
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "商品规格",
              "remark": "每一件商品都有不同的规格,不同的规格又有不同的价格和优惠力度,规格表为此设计"
            },
            {
              "title": "items_param",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "商品参数id",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "item_id",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "商品外键id",
                  "notNull": true
                },
                {
                  "name": "produc_place",
                  "type": "DefaultString",
                  "remark": "产地,例:中国江苏",
                  "chnname": "产地",
                  "notNull": true
                },
                {
                  "name": "foot_period",
                  "type": "DefaultString",
                  "remark": "保质期,例:180天",
                  "chnname": "保质期",
                  "notNull": true
                },
                {
                  "name": "brand",
                  "type": "DefaultString",
                  "remark": "品牌名,例:三只大灰狼",
                  "chnname": "品牌名",
                  "notNull": true
                },
                {
                  "name": "factory_name",
                  "type": "DefaultString",
                  "remark": "生产厂名,例:大灰狼工厂",
                  "chnname": "生产厂名",
                  "notNull": true
                },
                {
                  "name": "factory_address",
                  "type": "DefaultString",
                  "remark": "生产厂址,例:大灰狼生产基地",
                  "chnname": "生产厂址",
                  "notNull": true
                },
                {
                  "name": "packaging_method",
                  "type": "DefaultString",
                  "remark": "包装方式,例:袋装",
                  "chnname": "包装方式",
                  "notNull": true
                },
                {
                  "name": "weight",
                  "type": "DefaultString",
                  "remark": "规格重量,例:35g",
                  "chnname": "规格重量",
                  "notNull": true
                },
                {
                  "name": "storage_method",
                  "type": "DefaultString",
                  "remark": "存储方法,例:常温5~25°",
                  "chnname": "存储方法",
                  "notNull": true
                },
                {
                  "name": "eat_method",
                  "type": "DefaultString",
                  "remark": "食用方式,例:开袋即食",
                  "chnname": "食用方式",
                  "notNull": true
                },
                {
                  "name": "created_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "创建时间",
                  "notNull": true
                },
                {
                  "name": "updated_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "更新时间",
                  "notNull": true
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "商品参数"
            },
            {
              "title": "items_comments",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "id主键",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "user_id",
                  "type": "LongKey",
                  "remark": "用户名须脱敏",
                  "chnname": "用户id"
                },
                {
                  "name": "item_id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "商品id",
                  "notNull": true
                },
                {
                  "name": "item_name",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "商品名称"
                },
                {
                  "name": "item_spec_id",
                  "type": "LongKey",
                  "remark": "可为空",
                  "chnname": "商品规格id"
                },
                {
                  "name": "sepc_name",
                  "type": "DefaultString",
                  "remark": "可为空",
                  "chnname": "规格名称"
                },
                {
                  "name": "comment_level",
                  "type": "Integer",
                  "remark": "1:好评 2:中评 3:差评",
                  "chnname": "评价等级",
                  "notNull": true
                },
                {
                  "name": "content",
                  "type": "ShortString",
                  "remark": "",
                  "chnname": "评价内容",
                  "notNull": true
                },
                {
                  "name": "created_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "创建时间"
                },
                {
                  "name": "updated_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "更新时间"
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "商品评价表"
            },
            {
              "title": "orders",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "同时也是订单编号",
                  "chnname": "订单主键",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "user_id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "用户id",
                  "notNull": true
                },
                {
                  "name": "receiver_name",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "收货人快照",
                  "notNull": true
                },
                {
                  "name": "receiver_mobile",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "收货人手机号快照",
                  "notNull": true
                },
                {
                  "name": "receiver_address",
                  "type": "Name",
                  "remark": "",
                  "chnname": "收货地址快照",
                  "notNull": true
                },
                {
                  "name": "total_amount",
                  "type": "Integer",
                  "remark": "",
                  "chnname": "订单总价格",
                  "notNull": true
                },
                {
                  "name": "real_pay_amount",
                  "type": "Integer",
                  "remark": "",
                  "chnname": "实际支付总价格",
                  "notNull": true
                },
                {
                  "name": "post_amount",
                  "type": "Integer",
                  "remark": "默认可以为零,代表包邮",
                  "chnname": "邮费",
                  "notNull": true,
                  "defaultValue": "0"
                },
                {
                  "name": "pay_method",
                  "type": "Integer",
                  "remark": "1:微信 2:支付宝",
                  "chnname": "支付方式",
                  "notNull": true
                },
                {
                  "name": "left_msg",
                  "type": "Name",
                  "remark": "",
                  "chnname": "买家留言"
                },
                {
                  "name": "extand",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "扩展字段"
                },
                {
                  "name": "is_comment",
                  "type": "Integer",
                  "remark": "1:已评价,0:未评价",
                  "chnname": "买家是否评价",
                  "notNull": true
                },
                {
                  "name": "is_delete",
                  "type": "Integer",
                  "remark": "1: 删除 0:未删除",
                  "chnname": "逻辑删除状态",
                  "defaultValue": "0",
                  "notNull": true
                },
                {
                  "name": "created_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "创建时间(成交时间)",
                  "notNull": true
                },
                {
                  "name": "updated_time",
                  "type": "DateTime",
                  "remark": "",
                  "chnname": "更新时间",
                  "notNull": true
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "订单表"
            },
            {
              "title": "order_items",
              "fields": [
                {
                  "name": "id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "主键id",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "order_id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "归属订单id",
                  "notNull": true
                },
                {
                  "name": "item_id",
                  "type": "LongKey",
                  "remark": "",
                  "chnname": "商品id",
                  "notNull": true
                },
                {
                  "name": "item_img",
                  "type": "Name",
                  "remark": "",
                  "chnname": "商品图片",
                  "notNull": true
                },
                {
                  "name": "item_name",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "商品名称",
                  "notNull": true
                },
                {
                  "name": "item_spec_id",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "规格id",
                  "notNull": true
                },
                {
                  "name": "item_spec_name",
                  "type": "DefaultString",
                  "remark": "",
                  "chnname": "规格名称",
                  "notNull": true
                },
                {
                  "name": "price",
                  "type": "Integer",
                  "remark": "",
                  "chnname": "成交价格",
                  "notNull": true
                },
                {
                  "name": "buy_counts",
                  "type": "Integer",
                  "remark": "",
                  "chnname": "购买数量",
                  "notNull": true
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "订单商品关联表"
            },
            {
              "title": "order_status",
              "fields": [
                {
                  "name": "order_id",
                  "type": "LongKey",
                  "remark": "对应订单表的主键id",
                  "chnname": "订单ID",
                  "pk": true,
                  "notNull": true
                },
                {
                  "name": "order_status",
                  "type": "Integer",
                  "remark": "",
                  "chnname": "订单状态",
                  "notNull": true
                },
                {
                  "name": "created_time",
                  "type": "DateTime",
                  "remark": "对应[10:待付款]状态",
                  "chnname": "订单创建时间"
                },
                {
                  "name": "pay_time",
                  "type": "DateTime",
                  "remark": "对应[20:已付款,待发货]状态",
                  "chnname": "支付成功时间"
                },
                {
                  "name": "deliver_time",
                  "type": "DateTime",
                  "remark": "对应[30:已发货,待收货]状态",
                  "chnname": "发货时间"
                },
                {
                  "name": "success_time",
                  "type": "DateTime",
                  "remark": "对应[40:交易成功]状态",
                  "chnname": "交易成功时间"
                },
                {
                  "name": "close_time",
                  "type": "DateTime",
                  "remark": "对应[50:交易关闭]状态",
                  "chnname": "交易关闭时间"
                },
                {
                  "name": "comment_time",
                  "type": "DateTime",
                  "remark": "用户在交易成功后的留言时间",
                  "chnname": "留言时间"
                }
              ],
              "indexs": [],
              "headers": [
                {
                  "fieldName": "chnname",
                  "relationNoShow": false
                },
                {
                  "fieldName": "name",
                  "relationNoShow": false
                },
                {
                  "fieldName": "type",
                  "relationNoShow": false
                },
                {
                  "fieldName": "dataType",
                  "relationNoShow": true
                },
                {
                  "fieldName": "remark",
                  "relationNoShow": true
                },
                {
                  "fieldName": "pk",
                  "relationNoShow": false
                },
                {
                  "fieldName": "notNull",
                  "relationNoShow": true
                },
                {
                  "fieldName": "autoIncrement",
                  "relationNoShow": true
                },
                {
                  "fieldName": "defaultValue",
                  "relationNoShow": true
                },
                {
                  "fieldName": "relationNoShow",
                  "relationNoShow": true
                },
                {
                  "fieldName": "uiHint",
                  "relationNoShow": true
                }
              ],
              "chnname": "订单状态表",
              "remark": "订单的每个状态更改都需要进行记录
    10:待付款  20:已付款,待发货  30:已发货,待收货(7天自动确认)  40:交易成功(此时可以评价)50:交易关闭(待付款时,用户取消 或 长时间未付款,系统识别后自动关闭)
    退货/退货,此分支流程不做,所以不加入"
            }
          ],
          "graphCanvas": {
            "nodes": [
              {
                "shape": "table",
                "title": "carousel",
                "moduleName": false,
                "x": 280,
                "y": 210,
                "id": "7a3c6295",
                "size": [
                  427.74798336318077,
                  310.65875
                ]
              },
              {
                "shape": "table",
                "title": "category",
                "moduleName": false,
                "x": 790,
                "y": 110,
                "id": "f06be02d",
                "size": [
                  405.68341684549944,
                  121.72222222222221
                ]
              }
            ],
            "edges": []
          },
          "associations": []
        }
      ],
      "dataTypeDomains": {
        "datatype": [
          {
            "name": "默认字串",
            "code": "DefaultString",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "MYSQL": {
                "type": "VARCHAR(32)"
              },
              "ORACLE": {
                "type": "NVARCHAR2(32)"
              },
              "SQLServer": {
                "type": "NVARCHAR(32)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(32)"
              }
            }
          },
          {
            "name": "标识号",
            "code": "IdOrKey",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "ORACLE": {
                "type": "VARCHAR2(32)"
              },
              "MYSQL": {
                "type": "VARCHAR(32)"
              },
              "SQLServer": {
                "type": "VARCHAR(32)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(32)"
              }
            }
          },
          {
            "name": "标识号-长",
            "code": "LongKey",
            "apply": {
              "MYSQL": {
                "type": "VARCHAR(64)"
              },
              "ORACLE": {
                "type": "VARCHAR2(64)"
              },
              "JAVA": {
                "type": "String"
              },
              "SQLServer": {
                "type": "VARCHAR(64)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(64)"
              }
            }
          },
          {
            "name": "名称",
            "code": "Name",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "MYSQL": {
                "type": "VARCHAR(128)"
              },
              "ORACLE": {
                "type": "NVARCHAR2(128)"
              },
              "SQLServer": {
                "type": "NVARCHAR(128)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(128)"
              }
            }
          },
          {
            "name": "备注说明",
            "code": "Intro",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "MYSQL": {
                "type": "VARCHAR(512)"
              },
              "ORACLE": {
                "type": "NVARCHAR2(512)"
              },
              "SQLServer": {
                "type": "NVARCHAR(512)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(512)"
              }
            }
          },
          {
            "name": "字串-短",
            "code": "ShortString",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "MYSQL": {
                "type": "VARCHAR(128)"
              },
              "ORACLE": {
                "type": "NVARCHAR2(128)"
              },
              "SQLServer": {
                "type": "NVARCHAR(128)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(128)"
              }
            }
          },
          {
            "name": "字串-中",
            "code": "MiddleString",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "MYSQL": {
                "type": "VARCHAR(1024)"
              },
              "ORACLE": {
                "type": "NVARCHAR2(1024)"
              },
              "SQLServer": {
                "type": "NVARCHAR(1024)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(1024)"
              }
            }
          },
          {
            "name": "字串-长",
            "code": "LongString",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "ORACLE": {
                "type": "NVARCHAR2(3072)"
              },
              "MYSQL": {
                "type": "VARCHAR(3072)"
              },
              "SQLServer": {
                "type": "NVARCHAR(3072)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(3072)"
              }
            }
          },
          {
            "name": "大文本",
            "code": "LongText",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "MYSQL": {
                "type": "TEXT"
              },
              "ORACLE": {
                "type": "CLOB"
              },
              "SQLServer": {
                "type": "NTEXT"
              },
              "PostgreSQL": {
                "type": "TEXT"
              }
            }
          },
          {
            "name": "小数",
            "code": "Double",
            "apply": {
              "JAVA": {
                "type": "Double"
              },
              "MYSQL": {
                "type": "DECIMAL(32,10)"
              },
              "ORACLE": {
                "type": "NUMBER(32,10)"
              },
              "SQLServer": {
                "type": "DECIMAL(32,10)"
              },
              "PostgreSQL": {
                "type": "DECIMAL(32,10)"
              }
            }
          },
          {
            "name": "比例",
            "code": "Ratio",
            "apply": {
              "MYSQL": {
                "type": "DECIMAL(4,2)"
              },
              "JAVA": {
                "type": "Double"
              },
              "ORACLE": {
                "type": "NUMBER(4,2)"
              },
              "SQLServer": {
                "type": "DECIMAL(4,2)"
              },
              "PostgreSQL": {
                "type": "DECIMAL(4,2)"
              }
            }
          },
          {
            "name": "整数",
            "code": "Integer",
            "apply": {
              "JAVA": {
                "type": "Integer"
              },
              "MYSQL": {
                "type": "INT"
              },
              "ORACLE": {
                "type": "INT"
              },
              "SQLServer": {
                "type": "INT"
              },
              "PostgreSQL": {
                "type": "INT"
              }
            }
          },
          {
            "name": "大整数",
            "code": "BigInt",
            "apply": {
              "MYSQL": {
                "type": "BIGINT"
              },
              "JAVA": {
                "type": "Long"
              },
              "ORACLE": {
                "type": "NUMBER"
              },
              "SQLServer": {
                "type": "BIGINT"
              },
              "PostgreSQL": {
                "type": "BIGINT"
              }
            }
          },
          {
            "name": "金额",
            "code": "Money",
            "apply": {
              "JAVA": {
                "type": "Double"
              },
              "MYSQL": {
                "type": "DECIMAL(32,8)"
              },
              "ORACLE": {
                "type": "NUMBER(32,8)"
              },
              "SQLServer": {
                "type": "DECIMAL(32,8)"
              },
              "PostgreSQL": {
                "type": "DECIMAL(32,8)"
              }
            }
          },
          {
            "name": "是否",
            "code": "YesNo",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "MYSQL": {
                "type": "VARCHAR(1)"
              },
              "ORACLE": {
                "type": "VARCHAR2(1)"
              },
              "SQLServer": {
                "type": "VARCHAR(1)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(1)"
              }
            }
          },
          {
            "name": "数据字典",
            "code": "Dict",
            "apply": {
              "JAVA": {
                "type": "String"
              },
              "MYSQL": {
                "type": "VARCHAR(32)"
              },
              "ORACLE": {
                "type": "VARCHAR2(32)"
              },
              "SQLServer": {
                "type": "VARCHAR(32)"
              },
              "PostgreSQL": {
                "type": "VARCHAR(32)"
              }
            }
          },
          {
            "name": "日期",
            "code": "Date",
            "apply": {
              "JAVA": {
                "type": "Date"
              },
              "MYSQL": {
                "type": "DATE"
              },
              "ORACLE": {
                "type": "DATE"
              },
              "SQLServer": {
                "type": "DATE"
              },
              "PostgreSQL": {
                "type": "DATE"
              }
            }
          },
          {
            "name": "日期时间",
            "code": "DateTime",
            "apply": {
              "JAVA": {
                "type": "Date"
              },
              "MYSQL": {
                "type": "DATETIME"
              },
              "ORACLE": {
                "type": "DATE"
              },
              "SQLServer": {
                "type": "DATE"
              },
              "PostgreSQL": {
                "type": "DATE"
              }
            }
          },
          {
            "name": "单字符",
            "code": "Char",
            "apply": {
              "MYSQL": {
                "type": "CHAR(1)"
              },
              "ORACLE": {
                "type": "CHAR(1)"
              },
              "JAVA": {
                "type": "String"
              },
              "SQLServer": {
                "type": "CHAR(1)"
              },
              "PostgreSQL": {
                "type": "CHAR(1)"
              }
            }
          },
          {
            "name": "折扣力度",
            "code": "折扣力度",
            "apply": {
              "MYSQL": {
                "type": "DECIMAL(3,2)"
              },
              "JAVA": {
                "type": "Double"
              },
              "ORACLE": {
                "type": "NUMBER(3,2)"
              },
              "SQLServer": {
                "type": "DECIMAL(3,2)"
              },
              "PostgreSQL": {
                "type": "DECIMAL(3,2)"
              }
            }
          }
        ],
        "database": [
          {
            "code": "MYSQL",
            "template": "DROP TABLE {{=it.entity.title}};
    $blankline
    CREATE TABLE {{=it.entity.title}}(
    {{ pkList = [] ; }}
    {{~it.entity.fields:field:index}}
        {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
        {{=field.name}} {{=field.type}} {{= field.pk ? 'NOT NULL' : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,';')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}
    {{? pkList.length >0 }}
        PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})
    {{?}}
    ) COMMENT = '{{=it.func.join(it.entity.chnname,it.entity.remark,';') }}'",
            "fileShow": true,
            "defaultDatabase": true,
            "createTableTemplate": "CREATE TABLE {{=it.entity.title}}(
    {{ pkList = [] ; }}
    {{~it.entity.fields:field:index}}
        {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
        {{=field.name}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,' ')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}
    {{? pkList.length >0 }}
        PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})
    {{?}}
    ) COMMENT = '{{=it.func.join(it.entity.chnname,it.entity.remark,' ') }}';{{=it.separator}}
    $blankline
    ",
            "deleteTableTemplate": "DROP TABLE {{=it.entity.title}};{{=it.separator}}/*SkipError*/",
            "rebuildTableTemplate": "create table PDMAN_UP_{{=it.oldEntity.title}}
    as select * from {{=it.oldEntity.title}};{{=it.separator}}
    $blankline
    
    drop table {{=it.oldEntity.title}};{{=it.separator}}
    $blankline
    
    CREATE TABLE {{=it.newEntity.title}}(
    {{ pkList = [] ; }}
    {{~it.newEntity.fields:field:index}}
        {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
        {{=field.name}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,';')}}' {{= index < it.newEntity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}
    {{? pkList.length >0 }}
        PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})
    {{?}}
    ) COMMENT = '{{=it.func.join(it.newEntity.chnname,it.newEntity.remark,';') }}';{{=it.separator}}
    $blankline
    
    {{ sameCols = it.func.intersect(it.newEntity.fields,it.oldEntity.fields) ;}}
    insert into {{=it.newEntity.title}}(
    {{~sameCols:field:index}}
        {{=field.name}}{{? index<sameCols.length-1}},{{?}}
    {{~}}
    ) 
    select 
    {{~sameCols:field:index}}
        {{=field.name}}{{? index<sameCols.length-1}},{{?}}
    {{~}}
    from PDMAN_UP_{{=it.oldEntity.title}};{{=it.separator}}
    $blankline
    
    drop table PDMAN_UP_{{=it.oldEntity.title}};{{=it.separator}}
    $blankline
    {{~it.newEntity.indexs:index}}
    ALTER TABLE {{=it.newEntity.title}} ADD {{? index.isUnique}}UNIQUE{{??}}INDEX{{?}} {{=index.name}}({{=it.func.join(...index.fields,',')}});{{=it.separator}}
    {{~}}",
            "createFieldTemplate": "ALTER TABLE {{=it.entity.title}} ADD COLUMN {{=it.field.name}} {{=it.field.type}} {{? it.field.notNull}}NOT NULL{{?}} {{? it.field.defaultValue}}DEFAULT {{? null==it.field.defaultValue}}NULL{{??}}'{{=it.field.defaultValue}}'{{?}}{{?}} {{? it.field.autoIncrement}}AUTO_INCREMENT{{?}} {{? it.field.pk}}PRIMARY KEY{{?}} {{? it.field.chnname}}COMMENT '{{=it.field.chnname}}'{{?}} {{? it.field.addAfter}}AFTER {{=it.field.addAfter}}{{?}};{{=it.separator}}",
            "updateFieldTemplate": "ALTER TABLE {{=it.entity.title}} MODIFY COLUMN {{=it.field.name}} {{=it.field.type}} {{? it.field.notNull}}NOT NULL{{?}} {{? it.field.defaultValue}}DEFAULT {{? null==it.field.defaultValue}}NULL{{??}}'{{=it.field.defaultValue}}'{{?}}{{?}} {{? it.field.autoIncrement}}AUTO_INCREMENT{{?}} {{? it.field.chnname}}COMMENT '{{=it.field.chnname}}'{{?}};{{=it.separator}}",
            "deleteFieldTemplate": "ALTER TABLE {{=it.entity.title}} DROP {{=it.field.name}};{{=it.separator}}",
            "deleteIndexTemplate": "ALTER TABLE {{=it.entity.title}} DROP INDEX {{=it.index.name}};{{=it.separator}}",
            "createIndexTemplate": "ALTER TABLE {{=it.entity.title}} ADD {{? it.index.isUnique}}UNIQUE{{??}}INDEX{{?}} {{=it.index.name}}({{=it.func.join(...it.index.fields,',')}});{{=it.separator}}",
            "updateTableComment": "ALTER TABLE {{=it.entity.title}} COMMENT '{{=it.entity.chnname}}';{{=it.separator}}"
          },
          {
            "code": "ORACLE",
            "template": "DROP TABLE {{=it.entity.title}};{{=it.separator}}
    $blankline
    CREATE TABLE {{=it.entity.title}}(
    {{ pkList = [] ; }}
    {{~it.entity.fields:field:index}}
        {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
        {{=field.name}} {{=field.type}}  {{= field.pk ? 'NOT NULL' : '' }} {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}
    {{? pkList.length >0 }}
        PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})
    {{?}}
    );{{=it.separator}}
    $blankline
    COMMENT ON TABLE {{=it.entity.title}} IS '{{=it.func.join(it.entity.chnname,it.entity.remark,';') }}';{{=it.separator}}
    {{~it.entity.fields:field:index}}
    COMMENT ON COLUMN {{=it.entity.title}}.{{=field.name}} IS '{{=it.func.join(field.chnname,field.remark,';')}}';{{=it.separator}}
    {{~}}",
            "createTableTemplate": "CREATE TABLE {{=it.entity.title}}(
    {{ pkList = [] ; }}
    {{~it.entity.fields:field:index}}
        {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
        {{=field.name}} {{=field.type}}{{? field.defaultValue}} DEFAULT {{=field.defaultValue}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}
    {{? pkList.length >0 }}
        PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})
    {{?}}
    );{{=it.separator}}
    $blankline
    {{? it.entity.chnname || it.entity.remark}}COMMENT ON TABLE {{=it.entity.title}} IS {{? it.entity.remark}}'{{=it.entity.remark}}'{{??}}'{{=it.entity.chnname}}'{{?}};{{=it.separator}}{{?}}
    {{~it.entity.fields:field:index}}
    {{? field.chnname || field.remark}}COMMENT ON COLUMN {{=it.entity.title}}.{{=field.name}} IS {{? field.remark}}'{{=field.remark}}'{{??}}'{{=field.chnname}}'{{?}};{{=it.separator}}{{?}}
    {{~}}",
            "deleteTableTemplate": "DROP TABLE {{=it.entity.title}};{{=it.separator}}/*SkipError*/
    $blankline",
            "rebuildTableTemplate": "CREATE TABLE PDMAN_UP_{{=it.oldEntity.title}}
    AS SELECT * FROM {{=it.oldEntity.title}};{{=it.separator}}
    $blankline
    DROP TABLE {{=it.oldEntity.title}};{{=it.separator}}
    $blankline
    CREATE TABLE {{=it.newEntity.title}}(
    {{ pkList = [] ; }}{{~it.newEntity.fields:field:index}}{{? field.pk }}{{ pkList.push(field.name) }}{{?}}    {{=field.name}} {{=field.type}}{{? field.defaultValue}} DEFAULT {{=field.defaultValue}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= index < it.newEntity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}{{? pkList.length >0 }}    PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}}){{?}}
    );{{=it.separator}}
    $blankline
    {{? it.newEntity.chnname || it.newEntity.remark}}COMMENT ON TABLE {{=it.newEntity.title}} IS {{? it.newEntity.remark}}'{{=it.entity.remark}}'{{??}}'{{=it.newEntity.chnname}}'{{?}};{{?}}{{=it.separator}}
    {{~it.newEntity.fields:field:index}}
    {{? field.chnname || field.remark}}COMMENT ON COLUMN {{=it.newEntity.title}}.{{=field.name}} IS {{? field.remark}}'{{=field.remark}}'{{??}}'{{=field.chnname}}'{{?}};{{?}}{{=it.separator}}
    {{~}}
    {{ sameCols = it.func.intersect(it.newEntity.fields,it.oldEntity.fields) ;}}
    $blankline
    INSERT INTO {{=it.newEntity.title}}(
    {{~sameCols:field:index}}   {{=field.name}}{{? index<sameCols.length-1}},{{?}}
    {{~}}) 
    SELECT
    {{~sameCols:field:index}}   {{=field.name}}{{? index<sameCols.length-1}},{{?}}
    {{~}}FROM PDMAN_UP_{{=it.oldEntity.title}};{{=it.separator}}
    
    DROP TABLE PDMAN_UP_{{=it.oldEntity.title}};{{=it.separator}}
    {{~it.newEntity.indexs:index}}
    CREATE{{? index.isUnique}} UNIQUE{{?}} INDEX {{=index.name}} ON {{=it.newEntity.title}}({{=it.func.join(index.fields,',')}});{{=it.separator}}
    {{~}}",
            "createFieldTemplate": "ALTER TABLE {{=it.entity.title}} ADD({{=it.field.name}} {{=it.field.type}}{{? it.field.defaultValue}} DEFAULT {{=it.field.defaultValue}}{{?}}{{? it.field.notNull}} NOT NULL{{?}});{{=it.separator}}
    {{? it.field.chnname || it.field.remark}}COMMENT ON COLUMN {{=it.entity.title}}.{{=it.field.name}} IS {{? it.field.remark}}'{{=it.field.remark}}'{{??}}'{{=it.field.chnname}}'{{?}};{{=it.separator}}{{?}}
    $blankline",
            "updateFieldTemplate": "ALTER TABLE {{=it.entity.title}} MODIFY({{=it.field.name}} {{=it.field.type}}{{? it.field.defaultValue}} DEFAULT {{=it.field.defaultValue}}{{?}}{{? it.field.notNull}} NOT NULL{{?}});{{=it.separator}}
    {{? it.field.chnname || it.field.remark}}COMMENT ON COLUMN {{=it.entity.title}}.{{=it.field.name}} IS {{? it.field.remark}}'{{=it.field.remark}}'{{??}}'{{=it.field.chnname}}'{{?}};{{=it.separator}}{{=it.separator}}{{?}}
    $blankline",
            "deleteFieldTemplate": "ALTER TABLE {{=it.entity.title}} DROP({{=it.field.name}});{{=it.separator}}
    $blankline",
            "deleteIndexTemplate": "DROP INDEX {{=it.entity.title}}.{{=it.index.name}};{{=it.separator}}
    $blankline",
            "createIndexTemplate": "CREATE{{? it.index.isUnique}} UNIQUE{{?}} INDEX {{=it.index.name}} ON {{=it.entity.title}}({{=it.func.join(it.index.fields,',')}});{{=it.separator}}
    $blankline",
            "updateTableComment": "{{? it.entity.chnname || it.entity.remark}}COMMENT ON TABLE {{=it.entity.title}} IS {{? it.entity.remark}}'{{=it.entity.remark}}'{{??}}'{{=it.entity.chnname}}'{{?}};{{=it.separator}}{{?}}
    $blankline"
          },
          {
            "code": "SQLServer",
            "createTableTemplate": "CREATE TABLE {{=it.entity.title}}(
    {{ pkList = [] ; }}
    {{~it.entity.fields:field:index}}
        {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
        {{=field.name}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'IDENTITY(1,1)' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }}  {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}
    {{? pkList.length >0 }}
        CONSTRAINT PK_{{=it.entity.title}} PRIMARY KEY CLUSTERED ({{~pkList:pkName:i}}{{= pkName }} ASC {{= i<pkList.length-1 ? ',' : '' }}{{~}}) ON [PRIMARY] 
    {{?}}
    ) ;{{=it.separator}}
    
    $blankline
    EXECUTE sp_addextendedproperty N'MS_Description', '{{= it.entity.chnname || it.entity.remark}}', N'user', N'dbo', N'table', N'{{=it.entity.title}}', NULL, NULL;{{=it.separator}}
    {{~it.entity.fields:field:index}}
    {{? field.chnname || field.remark}}EXECUTE sp_addextendedproperty N'MS_Description', {{? field.remark}}'{{=field.remark}}'{{??}}'{{=field.chnname}}'{{?}}, N'user', N'dbo', N'table', N'{{=it.entity.title}}', N'column', N'{{=field.name}}';{{=it.separator}}{{?}}
    {{~}}
    ",
            "deleteTableTemplate": "",
            "rebuildTableTemplate": "",
            "createFieldTemplate": "",
            "updateFieldTemplate": "",
            "deleteFieldTemplate": "",
            "deleteIndexTemplate": "",
            "createIndexTemplate": "",
            "updateTableComment": ""
          },
          {
            "code": "PostgreSQL",
            "template": "DROP TABLE {{=it.entity.title}};
    $blankline
    CREATE TABLE {{=it.entity.title}}(
    {{ pkList = [] ; }}
    {{~it.entity.fields:field:index}}
        {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
        {{=field.name}} {{=field.type}} {{= field.pk ? 'NOT NULL' : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,';')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}
    {{? pkList.length >0 }}
        PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})
    {{?}}
    ) COMMENT = '{{=it.func.join(it.entity.chnname,it.entity.remark,';') }}'",
            "createTableTemplate": "CREATE TABLE {{=it.entity.title}}(
    {{ pkList = [] ; }}
    {{~it.entity.fields:field:index}}
        {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
        {{=field.name}} {{=field.type}}{{? field.defaultValue}} DEFAULT {{=field.defaultValue}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}
    {{? pkList.length >0 }}
        PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})
    {{?}}
    );{{=it.separator}}
    $blankline
    {{? it.entity.chnname || it.entity.remark}}COMMENT ON TABLE {{=it.entity.title}} IS {{? it.entity.remark}}'{{=it.entity.remark}}'{{??}}'{{=it.entity.chnname}}'{{?}};{{=it.separator}}{{?}}
    {{~it.entity.fields:field:index}}
    {{? field.chnname || field.remark}}COMMENT ON COLUMN {{=it.entity.title}}.{{=field.name}} IS {{? field.remark}}'{{=field.remark}}'{{??}}'{{=field.chnname}}'{{?}};{{=it.separator}}{{?}}
    {{~}}",
            "deleteTableTemplate": "DROP TABLE {{=it.entity.title}};{{=it.separator}}/*SkipError*/",
            "rebuildTableTemplate": "create table PDMAN_UP_{{=it.oldEntity.title}}
    as select * from {{=it.oldEntity.title}};{{=it.separator}}
    $blankline
    
    drop table {{=it.oldEntity.title}};{{=it.separator}}
    $blankline
    
    CREATE TABLE {{=it.newEntity.title}}(
    {{ pkList = [] ; }}
    {{~it.newEntity.fields:field:index}}
        {{? field.pk }}{{ pkList.push(field.name) }}{{?}}
        {{=field.name}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,';')}}' {{= index < it.newEntity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}
    {{~}}
    {{? pkList.length >0 }}
        PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})
    {{?}}
    ) COMMENT = '{{=it.func.join(it.newEntity.chnname,it.newEntity.remark,';') }}';{{=it.separator}}
    $blankline
    
    {{ sameCols = it.func.intersect(it.newEntity.fields,it.oldEntity.fields) ;}}
    insert into {{=it.newEntity.title}}(
    {{~sameCols:field:index}}
        {{=field.name}}{{? index<sameCols.length-1}},{{?}}
    {{~}}
    ) 
    select 
    {{~sameCols:field:index}}
        {{=field.name}}{{? index<sameCols.length-1}},{{?}}
    {{~}}
    from PDMAN_UP_{{=it.oldEntity.title}};{{=it.separator}}
    $blankline
    
    drop table PDMAN_UP_{{=it.oldEntity.title}};{{=it.separator}}",
            "createFieldTemplate": "ALTER TABLE {{=it.entity.title}} ADD COLUMN {{=it.field.name}} {{=it.field.type}} {{? it.field.notNull}}NOT NULL{{?}} {{? it.field.defaultValue}}DEFAULT {{? null==it.field.defaultValue}}NULL{{??}}'{{=it.field.defaultValue}}'{{?}}{{?}} {{? it.field.autoIncrement}}AUTO_INCREMENT{{?}} {{? it.field.pk}}PRIMARY KEY{{?}} {{? it.field.chnname}}COMMENT '{{=it.field.chnname}}'{{?}} {{? it.field.addAfter}}AFTER {{=it.field.addAfter}}{{?}};{{=it.separator}}",
            "updateFieldTemplate": "ALTER TABLE {{=it.entity.title}} MODIFY COLUMN {{=it.field.name}} {{=it.field.type}} {{? it.field.notNull}}NOT NULL{{?}} {{? it.field.defaultValue}}DEFAULT {{? null==it.field.defaultValue}}NULL{{??}}'{{=it.field.defaultValue}}'{{?}}{{?}} {{? it.field.autoIncrement}}AUTO_INCREMENT{{?}} {{? it.field.chnname}}COMMENT '{{=it.field.chnname}}'{{?}};{{=it.separator}}",
            "deleteFieldTemplate": "ALTER TABLE {{=it.entity.title}} DROP {{=it.field.name}};{{=it.separator}}",
            "deleteIndexTemplate": "ALTER TABLE {{=it.entity.title}} DROP INDEX {{=it.index.name}};{{=it.separator}}",
            "createIndexTemplate": "ALTER TABLE {{=it.entity.title}} ADD {{? it.index.isUnique}}UNIQUE{{??}}INDEX{{?}} {{=it.index.name}}({{=it.func.join(...it.index.fields,',')}});{{=it.separator}}",
            "updateTableComment": "ALTER TABLE {{=it.entity.title}} COMMENT '{{=it.entity.chnname}}';{{=it.separator}}"
          },
          {
            "code": "JAVA",
            "template": "package group.rober.pdman.{{=it.module.name}}.entity;
    $blankline
    import javax.persistence.*;
    import java.io.Serializable;
    import java.util.Date;
    $blankline
    $blankline
    
    /** {{=it.entity.chnname}} */
    @Table(name="{{=it.entity.title}}")
    public class {{=it.func.camel(it.entity.title,true) }} implements Serializable,Cloneable{
    {{~it.entity.fields:field:index}}
        /** {{=it.func.join(field.chnname,field.remark,';')}} */
        {{? field.pk }}
        @Id
        @GeneratedValue
        {{?}}
        private {{=field.type}} {{=it.func.camel(field.name,false)}} ;
    {{~}}
    $blankline
    {{~it.entity.fields:field:index}}
        /** {{=it.func.join(field.chnname,field.remark,';')}} */
        public {{=field.type}} get{{=it.func.camel(field.name,true)}}(){
            return this.{{=it.func.camel(field.name,false)}};
        }
        /** {{=it.func.join(field.chnname,field.remark,';')}} */
        public void set{{=it.func.camel(field.name,true)}}({{=field.type}} {{= it.func.camel(field.name,false) }}){
            this.{{=it.func.camel(field.name,false)}} = {{= it.func.camel(field.name,false) }};
        }
    {{~}}
    }",
            "createTableTemplate": "package group.rober.pdman.{{=it.module.name}}.entity;
    $blankline
    import javax.persistence.*;
    import java.io.Serializable;
    import java.util.Date;
    $blankline
    $blankline
    @Table(name="{{=it.entity.title}}")
    public class {{=it.func.camel(it.entity.title,true) }} implements Serializable,Cloneable{
    {{~it.entity.fields:field:index}}
        /** {{=it.func.join(field.chnname,field.remark,';')}} */
        {{? field.pk }}
        @Id
        @GeneratedValue
        {{?}}
        private {{=field.type}} {{=it.func.camel(field.name,false)}} ;
    {{~}}
    $blankline
    {{~it.entity.fields:field:index}}
        /** {{=it.func.join(field.chnname,field.remark,';')}} */
        public {{=field.type}} get{{=it.func.camel(field.name,true)}}(){
            return this.{{=it.func.camel(field.name,false)}};
        }
        /** {{=it.func.join(field.chnname,field.remark,';')}} */
        public void set{{=it.func.camel(field.name,true)}}({{=field.type}} {{= it.func.camel(field.name,false) }}){
            this.{{=it.func.camel(field.name,false)}} = {{= it.func.camel(field.name,false) }};
        }
    {{~}}
    }",
            "deleteTableTemplate": "",
            "rebuildTableTemplate": "",
            "createFieldTemplate": "",
            "updateFieldTemplate": "",
            "deleteFieldTemplate": "",
            "deleteIndexTemplate": "",
            "createIndexTemplate": "",
            "updateTableComment": ""
          }
        ]
      },
      "profile": {
        "defaultFields": [
          {
            "name": "revision",
            "type": "Integer",
            "remark": "",
            "chnname": "乐观锁"
          },
          {
            "name": "created_by",
            "type": "IdOrKey",
            "remark": "",
            "chnname": "创建人"
          },
          {
            "name": "created_time",
            "type": "DateTime",
            "remark": "",
            "chnname": "创建时间"
          },
          {
            "name": "updated_by",
            "type": "IdOrKey",
            "remark": "",
            "chnname": "更新人"
          },
          {
            "name": "updated_time",
            "type": "DateTime",
            "remark": "",
            "chnname": "更新时间"
          }
        ],
        "defaultFieldsType": "2",
        "javaConfig": {
          "JAVA_HOME": ""
        },
        "sqlConfig": ";",
        "dbs": [
          {
            "name": "foodie-shop",
            "defaultDB": true,
            "properties": {
              "driver_class_name": "com.mysql.jdbc.Driver",
              "url": "jdbc:mysql://localhost:3306/foodie-shop?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTC",
              "password": "root",
              "username": "root"
            }
          }
        ],
        "wordTemplateConfig": ""
      }
    }
    PDman foodie-dev.pdman.json

     三、思维导图

    
    
  • 相关阅读:
    正则表达式的总结
    网络搭建的四种方式
    argparse的总结详情
    错误记录
    8x8点阵的原理及代码实现
    __pycache__的认识记录
    浏览器渲染原理及流程
    javascript 中 async/await 的用法
    浏览器的进程和线程
    JS 对象toString 和 valueof 方法
  • 原文地址:https://www.cnblogs.com/callbin/p/14465355.html
Copyright © 2020-2023  润新知