Mybatis-Generator 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Mybatis-Generator 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Mybatis-Generator 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 GPL
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 匆匆里
适用人群 未知
收录时间 2017-09-13

软件简介

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

 

详情请移步项目文档

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(1) 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
1 评论
29 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部