栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【开发工具】EasyCode

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【开发工具】EasyCode


持续学习&持续更新中…

守破离


【开发工具】EasyCode
    • EasyCode
    • EasyCode配置
    • EasyCode的使用
    • 参考

EasyCode

使用MyBatis-Generator生成的po对象并不能很好的满足数据库字段类型与Java类型的映射关系(比如SMALLINT UNSIGNED —> Integer),这是我们就可以使用EasyCode这个工具了

  • https://github.com/makejavas/EasyCode
  • https://gitee.com/makejava/EasyCode/wikis/pages

EasyCode配置

要想使用,将如下内容命名为EasyCodeConfig.json,然后从IDEA导入即可。

{
  "author": "lpruoyu",
  "version": "1.2.4",
  "userSecure": "",
  "currTypeMapperGroupName": "lp",
  "currTemplateGroupName": "MybatisPlus_lp",
  "currColumnConfigGroupName": "Default",
  "currGlobalConfigGroupName": "Default",
  "typeMapper": {
    "lp": {
      "name": "lp",
      "elementList": [
        {
          "matchType": "REGEX",
          "columnType": "varchar(\(\d+\))?",
          "javaType": "java.lang.String"
        },
        {
          "matchType": "REGEX",
          "columnType": "char(\(\d+\))?",
          "javaType": "java.lang.String"
        },
        {
          "matchType": "ORDINARY",
          "columnType": "text",
          "javaType": "java.lang.String"
        },
        {
          "matchType": "REGEX",
          "columnType": "decimal(\(\d+,\d+\))?",
          "javaType": "java.lang.Double"
        },
        {
          "matchType": "REGEX",
          "columnType": "decimal(\(\d+\))?",
          "javaType": "java.lang.Double"
        },
        {
          "matchType": "ORDINARY",
          "columnType": "integer",
          "javaType": "java.lang.Integer"
        },
        {
          "matchType": "REGEX",
          "columnType": "int(\(\d+\))?",
          "javaType": "java.lang.Integer"
        },
        {
          "matchType": "ORDINARY",
          "columnType": "int4",
          "javaType": "java.lang.Integer"
        },
        {
          "matchType": "ORDINARY",
          "columnType": "int8",
          "javaType": "java.lang.Long"
        },
        {
          "matchType": "REGEX",
          "columnType": "bigint(\(\d+\))?",
          "javaType": "java.lang.Long"
        },
        {
          "matchType": "ORDINARY",
          "columnType": "datetime",
          "javaType": "java.util.Date"
        },
        {
          "matchType": "ORDINARY",
          "columnType": "timestamp",
          "javaType": "java.util.Date"
        },
        {
          "matchType": "ORDINARY",
          "columnType": "bool",
          "javaType": "java.lang.Boolean"
        },
        {
          "matchType": "ORDINARY",
          "columnType": "boolean",
          "javaType": "java.lang.Boolean"
        },
        {
          "matchType": "REGEX",
          "columnType": "tinyint(\(\d+\))?",
          "javaType": "java.lang.Byte"
        },
        {
          "matchType": "REGEX",
          "columnType": "tinyint(\(\d+\))? unsigned",
          "javaType": "java.lang.Short"
        },
        {
          "matchType": "REGEX",
          "columnType": "smallint(\(\d+\))?",
          "javaType": "java.lang.Short"
        },
        {
          "matchType": "REGEX",
          "columnType": "smallint(\(\d+\))? unsigned",
          "javaType": "java.lang.Integer"
        },
        {
          "matchType": "REGEX",
          "columnType": "mediumint(\(\d+\))?",
          "javaType": "java.lang.Integer"
        },
        {
          "matchType": "REGEX",
          "columnType": "mediumint(\(\d+\))? unsigned",
          "javaType": "java.lang.Integer"
        },
        {
          "matchType": "REGEX",
          "columnType": "int(\(\d+\))? unsigned",
          "javaType": "java.lang.Long"
        },
        {
          "matchType": "REGEX",
          "columnType": "bigint(\(\d+\))? unsigned",
          "javaType": "java.math.BigInteger"
        }
      ]
    }
  },
  "template": {
    "MybatisPlus_lp": {
      "name": "MybatisPlus_lp",
      "elementList": [
        {
          "name": "controller.java.vm",
          "code": "##导入宏定义n$!{define.vm}nn##设置表后缀(宏定义)n#setTableSuffix("Controller")nn##保存文件(宏定义)n#save("/controller", "Controller.java")nn##定义服务名n#set($serviceName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Service"))nn##定义实体对象名n#set($entityName = $!tool.firstLowerCase($!tableInfo.name))nn##包路径(宏定义)n#setPackageSuffix("controller")nnimport org.springframework.beans.factory.annotation.Autowired;nimport org.springframework.web.bind.annotation.RestController;nimport org.springframework.web.bind.annotation.RequestMapping;nimport programmer.lp.jk.service.$!{tableInfo.name}Service;nn@RestControllern@RequestMapping("/$!tool.firstLowerCase($!tableInfo.name)s")npublic class $!{tableName} {n    @Autowiredn    private $!{tableInfo.name}Service service;n    n}n"
        },
        {
          "name": "dao.java.vm",
          "code": "##导入宏定义n$!{define.vm}nn##定义实体对象名n#set($entityName = $!tool.firstUpperCase($!tableInfo.name))nn##设置表后缀(宏定义)n#setTableSuffix("Mapper")nn##保存文件(宏定义)n#save("/mapper", "Mapper.java")nn##包路径(宏定义)n#setPackageSuffix("mapper")nnimport com.baomidou.mybatisplus.core.mapper.BaseMapper;nimport programmer.lp.jk.pojo.po.$!entityName;nnpublic interface $!{entityName}Mapper extends BaseMapper<$!entityName> {n}"
        },
        {
          "name": "entity.java.vm",
          "code": "##导入宏定义n$!{define.vm}nn##保存文件(宏定义)n#save("/pojo/po", ".java")nn##包路径(宏定义)n#setPackageSuffix("pojo.po")nnimport lombok.AllArgsConstructor;nimport lombok.Data;nimport lombok.NoArgsConstructor;nn@Datan@NoArgsConstructorn@AllArgsConstructornpublic class $!{tableInfo.name} {n#foreach($column in $tableInfo.fullColumn)n    #if(${column.comment})//${column.comment}#endnn    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};n#endn}n"
        },
        {
          "name": "service.java.vm",
          "code": "##导入宏定义n$!{define.vm}nn##设置表后缀(宏定义)n#setTableSuffix("Service")nn##保存文件(宏定义)n#save("/service", "Service.java")nn##包路径(宏定义)n#setPackageSuffix("service")nnimport com.baomidou.mybatisplus.extension.service.IService;nimport $!{tableInfo.savePackageName}.pojo.po.$!tableInfo.name;nnpublic interface $!{tableName} extends IService<$!tableInfo.name> {nn}n"
        },
        {
          "name": "serviceImpl.java.vm",
          "code": "##导入宏定义n$!{define.vm}nn##设置表后缀(宏定义)n#setTableSuffix("ServiceImpl")nn##保存文件(宏定义)n#save("/service/impl", "ServiceImpl.java")nn##包路径(宏定义)n#setPackageSuffix("service.impl")nnimport com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;nimport org.springframework.stereotype.Service;nimport org.springframework.beans.factory.annotation.Autowired;nimport org.springframework.transaction.annotation.Transactional;nimport $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper;nimport $!{tableInfo.savePackageName}.pojo.po.$!{tableInfo.name};nimport $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;nn@Transactionaln@Service("$!tool.firstLowerCase($tableInfo.name)Service")npublic class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements $!{tableInfo.name}Service {n    @Autowiredn    private $!{tableInfo.name}Mapper mapper;n    n}n"
        }
      ]
    }
  },
  "columnConfig": {},
  "globalConfig": {}
}
EasyCode的使用

参考

小码哥-李明杰: Java从0到架构师③进阶互联网架构师.


本文完,感谢您的关注支持!


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/876944.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号