一、简介

1.1 MyBatis Generator介绍

MyBatis Generator 是MyBatis 官方出品的一款,用来自动生成MyBatis的 mapper、dao、entity 的框架,让我们省去规律性最强的一部分最基础的代码编写。

1.2 MyBatis Generator使用

MyBatis Generator的使用方式有4种:

  • 命令行生成
  • Maven方式生成
  • 使用Ant任务生成
  • 使用Java代码生成

其中推荐使用Maven方式进行代码生成,因为集成和使用比较简单。

<!--more-->

1.3 开发环境

MySQL:8.0.12

MyBatis Generator:1.3.7

Maven:4.0

IDEA:2018.2

二、代码自动生成配置

上面介绍了使用MyBatis Generator的几种方式,其中最推荐使用的是Maven方式,所以下面我们来看Maven方式的MyBatis代码生成,分为四步:

Step1:添加依赖

配置pom.xml文件,增加依赖和配置生成文件(“generatorConfig.xml”)路径:

<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.12</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version></dependency></dependencies><executions><execution><id>Generate MyBatis Artifacts</id><phase>package</phase><goals><goal>generate</goal></goals></execution></executions><configuration><!--允许移动生成的文件 --><verbose>true</verbose><!-- 是否覆盖 --><overwrite>true</overwrite><!-- 自动生成的配置 --><configurationFile>generatorConfig.xml</configurationFile></configuration>
</plugin>

Step2:添加配置文件

根据上面在pom里的配置,我们需要添加generatorConfig.xml在项目的根目录:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><!--加载配置文件,为下面读取数据库信息准备--><properties resource="application.properties"/><!--defaultModelType="flat" 大数据字段,不分表 --><context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"><property name="autoDelimitKeywords" value="true" /><property name="beginningDelimiter" value="`" /><property name="endingDelimiter" value="`" /><property name="javaFileEncoding" value="utf-8" /><plugin type="org.mybatis.generator.plugins.SerializablePlugin" /><plugin type="org.mybatis.generator.plugins.ToStringPlugin" /><!-- 注释 --><commentGenerator ><property name="suppressAllComments" value="true"/><!-- 是否取消注释 --><property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳--></commentGenerator><!--数据库链接地址账号密码--><jdbcConnection driverClass="${spring.datasource.driver-class-name}"connectionURL="${spring.datasource.url}"userId="${spring.datasource.username}"password="${spring.datasource.password}"></jdbcConnection><!-- 类型转换 --><javaTypeResolver><!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) --><property name="forceBigDecimals" value="false"/></javaTypeResolver><!--生成Model类存放位置--><javaModelGenerator targetPackage="com.hello.springboot.entity" targetProject="src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 生成mapxml文件 --><sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources/mybatis" ><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- 生成mapxml对应client,也就是接口dao --><javaClientGenerator targetPackage="com.hello.springboot.dao" targetProject="src/main/java" type="XMLMAPPER" ><property name="enableSubPackages" value="false" /></javaClientGenerator><table tableName="article" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"><generatedKey column="id" sqlStatement="Mysql" identity="true" /></table><table tableName="user_log" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"><generatedKey column="id" sqlStatement="Mysql" identity="true" /></table></context>
</generatorConfiguration>

其中数据库连接的配置,是从application.properties直接读取的。

Step3:配置全局属性文件

全局属性文件application.properties的配置,和Spring Boot增加MyBatis的配置是一样的,如果你的Spring Boot项目里面已经配置了MyBatis支持,请忽略此步骤。

# MyBatis 配置
spring.datasource.url=jdbc:mysql://172.16.10.79:3306/mytestdb?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.type-aliases-package=com.hello.springboot.mapper
mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

注意: MySQL 6以后JDBC的配置就不一样了,参照如上MySQL 8的配置。

Step4:点击Maven生成代码

如果你使用的是IDEA,点击最右侧的Maven Projects => 点击mybatis-generator => 右键mybatis-generator:generate => Run Maven Build,如下图所示:

正常控制台输出“BUILD SUCCESS”说明生成已经成功了,如果出现错误,根据错误提示信息排除处理错误即可。

MyBatis Generator 示例源码:https://github.com/vipstone/springboot-example/tree/master/springboot-mybatis-xml

三、安装IDEA插件

如果你使用的是 IDEA,那么强烈建议你安装一款免费的IDEA插件“Free MyBatis plugin”,可以实现dao到mapper xml对应方法的快速映射,点击任意一个快速调整到相应的方法,提高工作效率,效果如下图所示:

点击绿色的箭头直接跳转到了mapper xml对应的方法了,如下图所示:

可以相互点击,进行对应的跳转。

安装步骤

  • 点击菜单栏Flie => Settings
  • 点击Browse repostitories..
  • 输入“Free MyBatis plugin”查找插件
  • 点击安装,重启IDEA

关键步骤的截图如下:

四、总结

使用了MyBatis Generator可以帮我们自动生成实体类,和5个最基础的方法,大大的提高我们的工作效率,用户只需要按需写自己独有的一些业务即可。同时增加“Free MyBatis plugin”插件,可以很方便的帮我们开发和调试代码,真是实实在在的福利。

转载于:https://blog.51cto.com/2188001/2287805

Spring Boot (七)MyBatis代码自动生成和辅助插件相关推荐

  1. mysql 自动生成mapper_Spring Boot整合mybatis并自动生成mapper和实体实例解析

    最近一直都在学习Java,发现目前Java招聘中,mybatis出现的频率挺高的,可能是目前Java开发中使用比较多的数据库ORM框架.于是我准备研究下Spring Boot和mybatis的整合. ...

  2. (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码

    http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...

  3. mybatis代码自动生成工具之maven插件mybatis-generator-maven-plugin(mybatis逆向工程)

    mybatis自动代码生成工具maven插件可以帮助我们轻松的生成pojo.dao.mapper.xml文件,相比于mybatis-generator等其他方式方便许多,话不多说,上代码 先看一下整体 ...

  4. mysql 生成xml 表头_Spring Boot + MySql + Mybatis generator 自动生成mapper/entity/xml文件

    pom.xml配置依赖 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/m ...

  5. Eclipse使用mybatis generator自动生成代码

    一.写在前面 Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件 ...

  6. Spring Boot项目利用MyBatis Generator进行数据层代码自动生成

    概 述 MyBatis Generator (简称 MBG) 是一个用于 MyBatis和 iBATIS的代码生成器.它可以为 MyBatis的所有版本以及 2.2.0之后的 iBATIS版本自动生成 ...

  7. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...

  8. 关于纯洁的微笑《Spring Boot(七):Mybatis 多数据源最简解决方案》文章补充说明多数据源事务的配置

    关于Spring boot中使用Mybatis多数据源的配置,我推荐纯洁的微笑博主的<Spring Boot(七):Mybatis 多数据源最简解决方案>这篇文章,简单清晰易懂 疑问 但是 ...

  9. SpringBoot如何自动生成实体类和Dao层以及映射文件(mybatis generator 自动生成代码)

    一.首先添加自动生成代码插件 <!-- mybatis generator 自动生成代码插件 生成时解除注释 --><plugin><groupId>org.myb ...

最新文章

  1. weblogic0638_Java安全之Weblogic 2016-0638分析
  2. 安装kerberos报错 error: command 'gcc' failed with exit status 1
  3. 通过Source insight查看内核源码
  4. C语言第三次博客作业---单层循环结构
  5. AMD 发布第二代EPYC处理器,重新定义数据中心新标准
  6. java取消 验证_使用Spring Security Java配置时禁用基本身份验证
  7. 谷歌浏览器 —— 快捷键(vimium:像使用 vim 一样操作当前页面)
  8. 程序员职业规划(转)
  9. 2009牛年春节祝福短信集锦
  10. padavan mysql密码_[教程][搭建网站网盘] Padavan固件一键安装ONMP搭建Web环境,网站,网盘,相册等...
  11. Google Android8.1镜像WIFI提示“已连接但无法访问互联网“的解决办法
  12. 对PNG图像进行编码 Encoding the PNG image
  13. Deep Learning for UAV-based Object Detection andTracking: A Survey(论文翻译)
  14. 计算机打音乐歌谱成都,赵雷成都的曲谱
  15. 调用JavaAPI发送传真
  16. OpenCV打开相机
  17. thinksns源码_看移动社交引擎ThinkSNS如何帮助企业和创业者快速搭建理想的社交产品?...
  18. 英语中常见从句的简化
  19. discuz 单点登录 ucenter
  20. HMM算法概述(总结)

热门文章

  1. c++ 迭代器支持的运算
  2. MySQL学习(四、子查询)
  3. html5_0_文章_分级_分段
  4. Dalvik虚拟机相关的可执行程序
  5. 莫烦python简历_强化学习传说:第一章 模仿学习
  6. mysql分组后去重复数据_mysql去掉重复数据只保留一条,以及取分组后的一条数据...
  7. Vitis学习记录(三)
  8. oracle sql developer 查看游标结果集(3.0.04
  9. HttpClient的简单使用
  10. 【Luogu3383】【模板】线性筛素数