Mybatis-Generator

MyBatis 代码生成器
授权协议 GPL
开发语言 Java
所属分类 程序开发、 代码生成工具
软件类型 开源软件
地区 国产
投 递 者 沈栋
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

mybatis.generator

解决问题

mybatis.generator 后续简称 dalgen,解决mybatis代码自动生成的缺失.

对比其他代码生成工具

  • mybatis-generator-maven-plugin mybatis比较官方的代码生成器,生成do,mapper,mapper.xml且生成大量mybatis动态sql.
  • dalgen 除能根据指定表结构生成 do,mapper,mapper.xml外,还能根据自定义sql 自动生成对应mapper接口中的方法等

为什么要开发此插件

成为开发N年,经历了无数项目,从最初的hibernate 到ibatis 最后使用当前的mybatis,代码生成器也用了很多,自己也尝试编写了很多,到今天为止使用的其他代码生成器大都有与项目无关的共性。如mybaits的官方代码生成器mybatis-generator-maven-plugin,虽说也是一个maven插件但只能根据表生成一次,生成的sql大而全,完全脱离了项目本身。

之前使用蚂蚁金服iDalgen时有很多重复功能无法得到支持,如返回结果根据指定属性转为Map,分页支持等。现在采用maven插件+fmpp重新书写了本dalgen,将之前遇到的问题在此全部解决。

dalgen特点

  1. maven插件    代码生成后无需copy
  2. SQL模板支持 常见的代码生成器只注重如何从DB到java代码,而dalgen增加了SQL模板,开发人员只需要简单书写SQL即可生成对应的java代码
  3. 扩展性          可以根据自己的需要增加自定义模板,模板语言Freemarker,建议学习一下 fmpp
  4. 配置简单       只需要再dal层pom.xml文件中引入dalgen插件,后续根据提示操作即可
  5. SqlReview    由于采用了SQL模板所有SQL集中管理 SQLReview更加简洁,遇到问题DBA很容易给出建议
  6. 高级特性       支持 分页,返回结果自动转Map等

目录结构  

|--dal
|  |--dalgen
|     |--config                   //配置目录
|        |--config.xml              //配置文件
|        |--README.md               //帮助文档
|        |--table-config-1.0.dtd    //模板dtd约束
|  |--dalgenTables                //模板目录${database.name}Tables
|        |--MY_DALGEN.xml           //SQL模板文件
|  |--ext                         //扩展目录
|     |--mybatis-config.xml.ftl     //mybaits配置文件,可以在这配置TypeHandler
|  |--src                         //pom.xml 中配置的目录
|     |--main
|        |--java
|           |--example            //config.xml中配置的输出包
|              |--common
|                 |--paging       //分页基础类
|                    |--BasePage.java
|              |--dalgen
|                 |--dao
|                    |--DalgenDAO.java
|                 |--do
|                    |--DalgenDO.java
|                 |--mapper
|                    |--DalgenDOMapper.java
|                    |--DBPreCheckMapper.java  //check类,可忽略
|                 |--paging
|                    |--MyDalgenPage.java
|                 |--resultmap
|                    |--PageOptimizeResult.java
|     |--resources                 //mapper.xml数据目录,config.xml中配置
|        |--mapper
|           |--dalgen
|              |--DalgenDOMapper.xml
|              |--DBPreCheckMapper.xml

 

详情请移步项目文档

  • 关于mybatis-generator的使用步骤 首先mybatis中的手写mapper.xml文件非常麻烦,所以我们可以使用mybatis-generator这个插件自动生成mapper文件以及bean类还有dao层接口。 创建一个maven项目,在pom文件中插入以下依赖配置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:

  • 一、MyBatis Generator简介 MyBatis Generator(MBG)是一个代码生成器,能够基于数据库表(一或多张表)生成用于访问表的构件, 例如:实体类、mapper接口、mapper.xml等。 二、MyBatis Generator的配置流程 1、pom.xml中添加依赖 <!-- MyBatis 生成器 --> <dependency> <groupId

  • 原文网址:Mybatis--MybatisGenerator(自动生成代码)_IT利刃出鞘的博客-CSDN博客 问题解决 再次运行xml文件被覆盖         MybatisGenerator插件是Mybatis官方提供的,这个插件存在一个固有的Bug,即当第一次生成了Mapper.xml之后,再次运行会导致Mapper.xml生成重复内容,而影响正常的运行。为了解决这个问题,需要自己写一个小

  • 配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-genera

  • ####生成javabean,xml,interface的插件mybatis-generator ①pomx.xml文件中添加插件 <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin

  • MyBatis Generator中文文档 MyBatis Generator中文文档地址: http://mbg.cndocs.ml/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。 本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信息。 注:本文后面提到的MBG全部指

  • 一、MybatisGenerator生成WithBLOBS.java文件解决方案 在generatorConfig中按如下格式添加配置 <table schema="erpdb" tableName="t_supplier_category" domainObjectName="SupplierCategory" enableCountByExample="false" enableUpda

  • 参考: http://blog.csdn.net/Eternally123/article/details/78511150 https://www.jianshu.com/p/e09d2370b796 http://blog.csdn.net/qq_20974635/article/details/78247712 http://blog.csdn.net/zk673820543/article

  • mybatis-generator有三种用法:命令行、eclipse插件、maven插件。个人推荐使用命令行或maven插件。 命令行的用法请参考:http://blog.csdn.net/wyc_cs/article/details/9023117 maven插件的用法请参考:http://www.cnblogs.com/yjmyzz/p/mybatis-generator-tutorial.h

  • Mybatis generator 实例 亲测可用    其主要的功能就是方便,快捷的创建好Dao,entry,xml 加快了开发速度,使用方面根据其提供的规则配置好就OK   这里还有一个重要的开发场景,开发过程中,对数据库的操作肯定很多,比如新增字段什么的,你只要将原先自动生成的一套代码删除,重新再生成一份,这就完美解决了,但是这样做的前提是,你必须对生成后的代码不改动,只是使用。不需要想手动

  • 1.添加依赖: 2.pom文件: <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.3</version> </dependency> <dependency> <groupId>org.mybat

  • MybatisGenerator(MyBatis逆向工程) 1)什么是MyBatis逆向工程 MyBatis Generator简称(MBG)是一个可以用来生成Mybatis dao,entity,Mapper文件的一个工具,在项目的过程中可以省去很多重复的工作,我们只要在MyBatis Generator的配置文件中配置好要生成的表名与包名即可。 官网: http://mybatis.org/g

  • mybatis generator SSM集成时报错: java.lang.IllegalArgumentException: Result Maps collection already contains value for **.**.*Mapper.BaseResultMap 问题原因: 是因为mapper映射文件中的id=BaseResultMap重复造成. 根本原因是因为逆向工程多次生成

  • 创建 Maven 工程, 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:schemaLoc

  • MyBatisGenerator是用来生成mybatis的Mapper接口和xml文件的工具,提供多种启用方式,如Java类启动、shell启动、mavenPlugin启动等 具体点,可以连接DB,读取表信息,生成Model对象、JavaMapper、xmlMapper文件等。 整体代码工程分层 org.mybatis.generator ----api 内外部使用的主要接口,关键类MyBati

  • MybatisGenerator生成WithBLOBS.java文件 ···注意改成自己的数据库表名 ···jdbcType=***,***最好是"VARCHAR" 如果写成"TEXT" 在测试中出现过报错,没进行过记录,但出现过这种情况 <table tableName="tbl_employee" domainObjectName="Employee"> <!-- 注意细节,TEXT

  • 从其它网站搬家而来 (2011-09-23) MyBatis Generator(MBG)是为MyBatis和iBATIS生成代码的工具。它可以生成 1、Java POJOs that match the table structure,即java Model。 2、MyBatis/iBATIS Compatible SQL Map XML Files.即SQLMapper文件。 3、A mapp

 相关资料
  • 本文向大家介绍MyBatis Plus中代码生成器使用详解,包括了MyBatis Plus中代码生成器使用详解的使用技巧和注意事项,需要的朋友参考一下 按照官网上实例尝试了一下,感觉MyBatis plus中代码生成器还是很强大的,以下是测试的总结: 使用MybatisPlus的主要依赖 引入plus依赖(苞米豆) 生成器依赖 模板依赖 测试的pom依赖(也有我测试别东西的依赖,多余的请忽略) 代

  • 本文向大家介绍Java的MyBatis框架中MyBatis Generator代码生成器的用法,包括了Java的MyBatis框架中MyBatis Generator代码生成器的用法的使用技巧和注意事项,需要的朋友参考一下 关于Mybatis Generator MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Myba

  • 本文向大家介绍如何使用mybatis-generator自动生成代码,包括了如何使用mybatis-generator自动生成代码的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了如何使用mybatis-generator自动生成代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、在pom文件中添加mybatis-generator

  • 我正在根据参考指南学习使用Map结构。日食验证是 面向Web开发人员的Eclipse Java EE IDE。版本:开普勒服务版本2 pom。xml如下所示,与参考指南相同 它表示在构建项目时将生成实现代码。但是,它似乎不会在目标/生成的源文件夹下生成

  • Jboot 内置了一个简易的代码生成器,可以用来生成model层和Service层的基础代码,在生成代码之前,请先配置jboot.properties关于数据库相关的配置信息,Jboot 代码生成器会通过该配置去链接数据库。 jboot.datasource.type=mysql jboot.datasource.url=jdbc:mysql://127.0.0.1:3306/jbootdemo

  • 遵照此规范,在实际操作中,有许多重复。接下来推荐一款专为本规范量身定做的代码生成器 Laravel 5.x Scaffold Generator。 本扩展支持 5.1 ~ 5.5 版本的 Laravel。 只需要一个命令: 即可生成: $ php artisan make:scaffold Projects --schema="name:string:index,description:text:

  • Sergen 有一些额外的配置选项,你可以通过解决方案目录下的配置文件(Serenity.CodeGenerator.config)设置。 这是所有的配置选项: public class GeneratorConfig { public List<Connection> Connections { get; set; } public string KDiff3Path { get

  • 我使用jOOQ程序代码生成数据库,但现在我遇到了一些问题。在数据库中,我有表A和表B。第一次都生成了pojo、dao、接口等。经过一段时间的开发,我发现表A需要添加一些字段或修改一些字段,所以我不得不再次编码,然后jOOQ代码生成器将覆盖现有的代码,这让我很难过。当我在排除表的情况下使用“排除A”时,发现只生成了表A的数据,表B将被删除。我不知道如何处理这个问题。我的代码生成器如下: