代码生成

在企业软件开发过程中,大多数时间都是面向数据库表的增删改查开发。通过通用的增删改查代码生成器,可以有效的提高效率,降低成本;把有规则的重复性劳动让机器完成,解放开发人员。

MyBatis Generator

  • MyBatis Generator 是 MyBatis 提供的一个代码生成工具

可以帮我们生成表对应的持久化对象(po)、操作数据库的接口(dao)、CRUD sql 的 xml(mapper)。

<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${last.version}</version>
<configuration>
<!--mybatis的代码生成器的配置策略文件-->
<configurationFile>mybatis-generator-config.xml</configurationFile>
</configuration>
</plugin>
  • 配置代码生成相关的策略文件 mybatis-generator-config.xml
<generatorConfiguration>
<context>
<!-- jdbc连接 -->
<jdbcConnection> ... </jdbcConnection>
<!-- schema为数据库名,tableName为对应的数据库表名 -->
<table> ... </table>
<!-- 注释 -->
<commentGenerator> ... </commentGenerator>
<!-- 类型转换 -->
<javaTypeResolver> ... </javaTypeResolver>
<!-- 生成实体类配置 -->
<javaModelGenerator> ... </javaModelGenerator>
<!-- 生成Mapper.xml文件配置 -->
<sqlMapGenerator> ... </sqlMapGenerator>
<!-- 生成Mapper.java 接口-->
<javaClientGenerator> ... </javaClientGenerator>
</context>
</generatorConfiguration>
  • 缺点
  1. 每次代码生成需要配置对应的 mybatis-generator-config 通过 XML 的形式配置相关生成属性和规则
  2. 无法生成通用的 Controller、Service 类,无法自定义模板等

综上两点: mybatis-generator 使用非常不方便

EasyCode

EasyCode 是基于 IntelliJ IDEA Ultimate 版开发的一个代码生成插件,主要通过自定义模板(基于 velocity)来生成各种你想要的代码。通常用于生成 Entity、Dao、Service、Controller。如果你动手能力强还可以用于生成 HTML、JS、PHP 等代码。理论上来说只要是与数据有关的代码都是可以生成的。

快速上手

  1. 安装 IDEA EasyCode 插件。 支持在线安装,插件市场搜索安装即可。

  2. 使用 IDEA 连接目标数据源

  1. 选择目标表进行代码生成

进阶配置

如上即可完成基于单表的增删改查方法,包括 Controller、Service、Mapper、Entity。 但默认生成是基于原生 MyBatis 的通用文件,不适用于 MyBatisPlus、通用 Mapper 等 Mybatis 扩展插件。我们可以通过编辑 EasyCode 的模板文件,来动态添加我们的生成规则,并且可以导出给其他人使用。

  • 甚至于可以配置新的模板生成前端页面,比如基于 Element 的增删改查

总结

  • 当然很多脚手架都会内置代码生成功能。 例如 pig 的开发平台模块 ,通过自定义模板引擎形式实现代码生成,能够更好的整合现有业务提开发效率。

项目推荐: Spring Cloud 、Spring Security OAuth2的RBAC权限管理系统 欢迎关注

还在使用MyBatis Generator?试试这个工具的更多相关文章

  1. MyBatis Generator 超详细配置

    想快速开始,请直接拉到最后,看整体配置. MyBatis Generator 是 MyBatis 提供的一个代码生成工具.可以帮我们生成 表对应的持久化对象(po).操作数据库的接口(dao).CRU ...

  2. mybatis generator 使用教程(生成带注释的实体类)

    引言: 最近的一个项目,由于数据库表巨多,导致需要创建N多个java实体.dao.mapper.xml映射文件,如果均使用纯手工编写,无疑需要耗费大量时间和精力.于是上网学习了mybatis gene ...

  3. springboot集成mybatis及mybatis generator工具使用

    原文链接 前言mybatis是一个半自动化的orm框架,所谓半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernat ...

  4. springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用

    前言 mybatis是一个半自动化的orm框架,所谓半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完 ...

  5. Mybatis Generator生成工具配置文件详解

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...

  6. Mybatis generator生成工具简单介绍

    Mybatis generator  其主要的功能就是方便,快捷的创建好Dao,entry,xml 加快了开发速度,使用方面根据其提供的规则配置好就OK 这里还有一个重要的开发场景,开发过程中,对数据 ...

  7. mybatis generator工具集成(一)

    第一步,pom中加入 <build> <plugins> <plugin> <groupId>org.springframework.boot</ ...

  8. (二)一个很好用的自动生成工具——mybatis generator

    mybatis generator-自动生成代码 准备材料: 一个文件夹,一个数据库的驱动包,mybatis-generator-core-1.3.5.jar,一条生成语句 如图:(我用的是derby ...

  9. 数据库逆向框架代码生成工具:MyBatis Generator的使用

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...

随机推荐

  1. Redis的数据结构与应用场景

    一.Redis简介 Redis 是一个开源的使用 ANSI C 语言编写.遵守 BSD 协议.支持网络.可基于内存.分布式.可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API ...

  2. 04、数组与Arrays工具类

    目录 前言 一.一维数组 基本认识 内存空间 二.二维数组 基本认识 三.工具类Arrays 前言 去年四月份大一下半学期正式开始学习Java,一路从java基础.数据库.jdbc.javaweb.s ...

  3. web项目中各工具的作用

    一.HTML:用于搭建基础网页,展示网页的内容 Hyper Text Markup Language 超文本标记语言 ,是最基础的网页开发语言. * 超文本: * 超文本是用超链接的方法,将各种不同空 ...

  4. CentOS7安装ZooKeeper3.4.14

    1:下载安装包 wget https://downloads.apache.org/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz 点击进入官网下 ...

  5. Prometheus+Grafana+Alertmanager搭建全方位的监控告警系统

    prometheus安装和配置 prometheus组件介绍 1.Prometheus Server: 用于收集和存储时间序列数据. 2.Client Library: 客户端库,检测应用程序代码,当 ...

  6. Qt update刷新之源码分析(二)

    大家好,我是IT文艺男,来自一线大厂的一线程序员 上次视频给大家从源码层面剖析了Qt update刷新机制的异步事件投递过程,这次视频主要从源码层面剖析Qt刷新事件(QEvent::UpdateReq ...

  7. JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  8. Oracle VM VirtualBox的下载和安装

    软件介绍 VirtualBox 是一款开源虚拟机软件,由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 ...

  9. Arrays.Sort()中的那些排序算法

    本文基于JDK 1.8.0_211撰写,基于java.util.Arrays.sort()方法浅谈目前Java所用到的排序算法,仅个人见解和笔记,若有问题欢迎指证,着重介绍其中的TimSort排序,其 ...

  10. HDu1087 Super Jumping! Jumping! Jumping!

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 分析:简单dp:dp[i] = max (dp[i], dp[j] + a[i]) 1 #inc ...