使用MyBatis插件生成代码

简介

MyBatis Generator(MBG) 是一个代码生成工具,它支持所有版本的MyBatis和2.2.0以上版本的iBatis;MBG旨在构造生成大多数常用的数据库表操作,例如简单的CURD(增删改查),至于复杂的关联查询以及存储过程还是需要手动实现的。

MyBatis Generator 会生成如下代码:

POJOS(plain old java objects)

Entity

BLOB 包含BLOB的字段

Example 动态操作select,insert,update,delete

XML Mapper 文件

insert

select by primary key

select

update by primary key

update

delete by primary key

delete

Dao 层 文件

对应Mapper文件的dao 文件

依赖条件

MyBatis Generator 的运行依赖一下条件

jdk1.6+

JDBC Driver

快速入门

想要快速的运行 MyBatis Generator ,你需要遵从一下步骤:

创建一个配置文件,最少必须包含以下属性

此元素用于指定数据库连接信息

此元素用于指定生成的模型信息Entity,Example

此元素用于指定Mapper XML 文件信息

此元素用于指定dao 层的信息

将以上配置文件保存在合适的地方 (例如 \temp\generatorConfig.xml)

运行MyBatis Generator

java -jar mybatis-generator-core-x.x.x.jar -configfile \temp\generatorConfig.xml -overwrite

执行完MBG命令,你在创建一个MyBatis/iBatis配置文件就可以集成使用MyBatis/iBatis了;MyBatis/iBatis配置文件参考

运行MyBatis Generator

运行MBG的方法有很多种,例如:通过Maven plugin,通过ant,通过命令行,通过java代码;下文将介绍通过java代码的方式运行,其他运行方式可以点这里

/**

* 方式一:java 使用配置文件方式

*/

List warnings = new ArrayList();

boolean overwrite = true;

//注意配置文件路径,一般置于src/main/resources/generatorConfig.xml

File configFile = new File("generatorConfig.xml");

ConfigurationParser cp = new ConfigurationParser(warnings);

Configuration config = cp.parseConfiguration(configFile);

DefaultShellCallback callback = new DefaultShellCallback(overwrite);

MyBatisGenerator generator = new MyBatisGenerator(config, callback, warnings);

generator.generate(null);

/**

* 方式二:java 不使用配置文件方式

*/

List warnings = new ArrayList();

boolean overwrite = true;

Configuration config = new Configuration();

//用属性填充config object

DefaultShellCallback callback = new DefaultShellCallback(overwrite);

MyBatisGenerator generator = new MyBatisGenerator(config, callback, warnings);

generator.generate(null);

XML 配置文件指引

此处介绍常用的jdbcConnection,javaModelGenerator,sqlMapGenerator,javaClientGenerator,table;其余元素设置参考

必填参数:driverClass,connectionURL

选填参数:userId,password

示例如下:

connectionURL="jdbc:mysql://127.0.0.1:3306/test"

userId="root"

password="1qaz1qaz!QAZ">

必填参数:targetPackage,targetProject

示例如下:

必填参数:targetPackage,targetProject

示例如下:

必填参数:type,targetPackage,targetProject

targetProject="src/main/java">

mybaitis快速生成_使用MyBatis插件生成代码相关推荐

  1. java逆向生成代码有哪些_利用mybatis逆向工程生成代码

    在做项目过程中,当面对很多表时,手动编写Mapper.xml.Mapper.java和pojo无疑是要人命,还容易出错,导致对数据库操作时各种异常.这就陷入了写bug,改bug的旋涡. 针对这一痛点, ...

  2. java代码自动生成的插件_如何使用插件生成自定义Java 8代码

    java代码自动生成的插件 大多数程序员讨厌的一件事就是编写样板代码. 无休止的时间花费在设置实体类和配置数据库连接上. 为了避免这种情况,您可以让Speedment Open Source之类的程序 ...

  3. python ppt自动生成_实战 | Python自动生成PPT调研报告

    原标题:实战 | Python自动生成PPT调研报告 原文: 全文约 3821 字,读完可能需要 5 分钟. 文/JSong @2017.02.28 在数据分析里面有一句话是说,80%的时间要用于数据 ...

  4. python RTL自动生成_利用python自动生成证件照

    又到了一次交个人信息表的时候了,在word照片框贴照片时发现自己之前放在e盘的电子照片不见了,我丢.之前去照相馆就只留了一张底片,疫情当前(打游戏懒得出门),作为时代好青年,出门拍照是不可能的,为一张 ...

  5. java二维码生成_如何使用 Java 生成二维码?

    精品专栏 <GitHub:中文详细注释的开源项目> 1. 下载jar包(QRCode.jar)2. maven项目手动引入jar包3. 编写实体类实现二维码的生成4. controller ...

  6. c++ ea 代码 生成_看EA如何生成代码框架

    EA的使用给我们带来了极大的方便,同时,在对EA不断的深入使用过程中,我们也一步步的对其功能有了深层次的了解,这次我学到的新功能,就是通过EA,将类图转换成代码框架,这是如何做到的呢? 代码工程设置 ...

  7. python评语生成_电商 Python 生成补单公司需要的评论格式3

    一.整理一个包含刷单信息的excel excel的名字:excel_comment.xlsx excel的列名:买家会员名收货人金额评论 二.生成好的评论 注意:两边的数据条数必须一样,比如:有5个刷 ...

  8. python 加干扰线 图片生成_用Python一键生成炫酷九宫格图片,火了朋友圈

    作为一个男同胞来说,为了给女朋友拍一张美美的照片,着实需要花费很大的时间和精力,不仅仅需要从众多的图片中精心挑选,而且还需要有着超强的图片精修能力,才能得到一张张达到女友要求的图片,真心不容易啊- 朋 ...

  9. python docx table 生成_从Python docx生成docx文件,pythondocx

    python-docx是python编程语言的一个库,可以对docx文档进行读,同时也可以进行生成docx文档,这篇文档主要是讲生成docx文档. 1.生成一个空docx文档 # coding:utf ...

  10. python123第五周随机密码生成_利用Python如何生成随机密码

    本位实例为大家分享了Python生成随机密码的实现过程,供大家参考,具体内容如下 写了个程序,主要是用来检测MySQL数据库的空密码和弱密码的, 在这里,定义了三类弱密码: 1. 连续数字,譬如123 ...

最新文章

  1. 生态伙伴 | 飞书携手ProcessOn助力企业高效远程办公,共同“战疫”
  2. 网站单页面SEO关键词该如何布局更好?
  3. maven 公用仓库_Maven系列(二):Maven 核心概念
  4. python飞机大战3关BOSS
  5. python+robotframework_python+robot framework接口自动化测试
  6. PL/SQL Developer SQL Window中不能插入多条数据
  7. tablesorter,jquery
  8. 从编译器角度分析C语言中数组名和指针的区别
  9. cuda无法在电脑上运行_办公技巧 | 专治PPT在别的电脑上无法播放的神器!
  10. 我的世界java边境之地_《我的世界》:手机版的边境之地你绝对没见过!那里方块只有空壳?...
  11. 浅谈Foxmail邮件迁移
  12. github windows系统监控_辅助Windows 自带的微软五笔字型输入法,解决长期存在的7大问题...
  13. 破解三大安防视频痛点,看华为4大硬核视频上云技术
  14. Babel 是干什么的
  15. win10系统删除右键菜单新建中多余选项的解决方案
  16. 程序人生--2003年(20)
  17. win10家庭版加密oracle修正,WIN10更新后解决credssp加密oracle修正问题
  18. SRAM的性能及结构
  19. 判断胎儿性别的方法???(
  20. 小程序统一服务消息接口

热门文章

  1. Linux下配置两个或多个Tomcat启动
  2. 反驳《SEO的几大罪行》
  3. Oracle RAC系列之:ASM基本操作维护
  4. 巧用层次坐标解决统计图分类轴与系列取值
  5. 虚拟桌面与代理服务器的那些事
  6. web项目docker化的两种方法
  7. scapy:收发数据包
  8. Win8(X64)下MySQL5.6版本安装及配置
  9. sphinx的使用1-创建索引
  10. LINUX常用的安全检测工具