====================================
pom.xml 文件
====================================
需要在 pom.xml 文件增加 mybatis-generator-maven 插件, mybatis-generator maven 插件默认会读到 src/main/resources目录下的 generatorConfig.xml 文件, 也可以自定义 generatorConfig.xml的路径.

<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
<!--配置文件的路径-->
<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
</configuration>
</plugin>

====================================
generatorConfig.properties 文件
====================================

src/main/resources目录下的新建 generatorConfig.properties 文件, 该文件将被generatorConfig.xml引用, 在其中定义一些和环境相关的变量, 比如jar 驱动的路径.

mybatisDriverJarPath=C:\\Users\\Administrator\\.m2\\repository\\mysql\\mysql-connector-java\\5.1.\\mysql-connector-java-5.1..jar
mybatisDriverClassName=com.mysql.jdbc.Driver
mybatisJdbcUrl=jdbc:mysql://localhost/world?useUnicode=true&characterEncoding=utf-8
mybatisJdbcUser=root
mybatisJdbcPassword=toor
mybatisJavaModelPackage=com.springbootmybatis.mybatissample.entity
mybatisSqlMapPackage=com.springbootmybatis.mybatissample.mapper
mybatisDaoPackage=com.springbootmybatis.mybatissample.dao

====================================
generatorConfig.xml 文件
====================================
src/main/resources目录下的新建 generatorConfig.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-generator-config_1_0.dtd" >
<generatorConfiguration>
<!--配置文件[可选项], 引入配置文件后, 在下面的Xml内容中可以使用${configItem}的方式来设定属性值, 比如jdbc用户名 -->
<properties resource="generatorConfig.properties" /> <!-- 必须配置驱动包的路径 -->
<classPathEntry location="${mybatisDriverJarPath}" /> <context id="MysqlTables" targetRuntime="MyBatis3">
<!-- 生成的pojo,将implements Serializable/Hashcode/ToString方法 -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
<plugin
type="org.mybatis.generator.plugins.EqualsHashCodePlugin"></plugin>
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin> <commentGenerator>
<!-- 是否去除自动生成的注释 -->
<property name="suppressAllComments" value="false" /> <!-- 这个元素用来去除指定生成的注释中是否包含生成的日期 -->
<!-- 如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为true -->
<property name="suppressDate" value="true" />
</commentGenerator> <jdbcConnection driverClass="${mybatisDriverClassName}"
connectionURL="${mybatisJdbcUrl}" userId="${mybatisJdbcUser}"
password="${mybatisJdbcPassword}">
</jdbcConnection> <javaTypeResolver>
<!-- 使用Java的 Integer而不是java.math.BigDecimal来对应DB中的 DECIMAL 和 NUMERIC 类型 -->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver> <!-- 指定生成pojo的包和此包在项目中的地址; -->
<javaModelGenerator
targetPackage="${mybatisJavaModelPackage}" targetProject="src\main\java">
<!-- 是否在当前路径下新加一层, 新的一层以db schema作为目录名 -->
<property name="enableSubPackages" value="false" />
</javaModelGenerator> <!--对应的mapper.xml文件 -->
<sqlMapGenerator
targetPackage="${mybatisSqlMapPackage}" targetProject="src\main\java">
<!-- 是否在当前路径下新加一层, 新的一层以db schema作为目录名 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator> <!-- 对应的Mapper接口类文件 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="${mybatisDaoPackage}" targetProject="src\main\java">
<!-- 是否在当前路径下新加一层, 新的一层以db schema作为目录名 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator> <!-- 需要生成entity的数据表, 该table节点可以多个 -->
<table schema="world" tableName="city" domainObjectName="City"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"> <!-- 用于指定生成实体类时是否使用实际的列名作为实体类的属性名, 如果要用Camel Case风格, 需要设置为false -->
<property name="useActualColumnNames" value="false" /> <!-- 字段重命名 -->
<!--
<columnOverride column="create_time" property="createTime" />
<columnOverride column="float_test" property="floatTest" />
<columnOverride column="double_test" property="doubleTest" />
<columnOverride column="text_test" property="textTest" />
--> <!-- 忽略列,不生成bean 字段 -->
<!-- <ignoreColumn column="FRED" /> --> <!-- 指定列的java数据类型 -->
<!-- <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /> -->
</table>
</context>
</generatorConfiguration>

====================================
mvn mybatis-generator:generate 命令
====================================
执行 mvn mybatis-generator:generate 命令, 可生成对应Java entity类和 mapper.xml 和 java dao 接口.

====================================
参考
====================================
https://www.cnblogs.com/GaiDynasty/p/4088531.html
https://www.cnblogs.com/JsonShare/p/5521901.html
https://segmentfault.com/a/1190000009058867
https://blog.csdn.net/wangxy799/article/details/60870361
https://www.cnblogs.com/linhp/p/5884151.html
https://www.cnblogs.com/hyyq/p/7087620.html

SpringBoot系列: 使用MyBatis maven插件自动生成java代码的更多相关文章

  1. Eclipse 使用mybatis generator插件自动生成代码

    Eclipse 使用mybatis generator插件自动生成代码 标签: mybatis 2016-12-07 15:10 5247人阅读 评论(0) 收藏 举报 .embody{ paddin ...

  2. mybatis自动生成java代码

    SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version=" ...

  3. wsdl自动生成Java代码,根据wsdl生成Java代码

    wsdl自动生成Java代码,根据wsdl生成Java代码 >>>>>>>>>>>>>>>>>&g ...

  4. 使用Mybatis Generator插件自动生成映射文件(cmd无法进入文件,dns服务器对区域没有权威等问题)遇到问题

           使用Mybatis Genertor插件自动生MyBatis所需要的DAO接口,实体模型类,Mapping映射文件,将生成的代码赋值到项目工程中即可.     有命令行,Eclipse插 ...

  5. mybatis generator maven插件自动生成代码

    如果你正为无聊Dao代码的编写感到苦恼,如果你正为怕一个单词拼错导致Dao操作失败而感到苦恼,那么就可以考虑一些Mybatis generator这个差价,它会帮我们自动生成代码,类似于Hiberna ...

  6. MyBatis Generator作为maven插件自动生成增删改查代码及配置文件例子

    什么是MyBatis Generator MyBatis Generator (MBG) 是一个Mybatis的代码生成器,可以自动生成一些简单的CRUD(插入,查询,更新,删除)操作代码,model ...

  7. 【mybatis源码学习】利用maven插件自动生成mybatis代码

    [一]在要生成代码的项目模块的pom.xml文件中添加maven插件 <!--mybatis代码生成器--> <plugin> <groupId>org.mybat ...

  8. intellij自动生成java代码注释(java文件注释和方法注释)

    1定义java文件头部的注释 2给java类中的方法添加上注释 2.1第一步勾选Enable Live  Templates 2.2第二步新建一个Group 2.3第三步新建一个Template 2. ...

  9. Fidder插件自动生成爬虫代码(C#)

    原创,效果如下: 1.新建项目,并添加Fidder.exe的引用: 2.添加代码 [assembly: Fiddler.RequiredVersion("2.2.8.6")]usi ...

随机推荐

  1. LOJ #2537. 「PKUWC 2018」Minimax (线段树合并 优化dp)

    题意 小 \(C\) 有一棵 \(n\) 个结点的有根树,根是 \(1\) 号结点,且每个结点最多有两个子结点. 定义结点 \(x\) 的权值为: 1.若 \(x\) 没有子结点,那么它的权值会在输入 ...

  2. Hdoj 2717.Catch That Cow 题解

    Problem Description Farmer John has been informed of the location of a fugitive cow and wants to cat ...

  3. 压缩JS,CSS的工具

    目标: 压缩项目中的JS,CSS文件. 方法一:使用uglifyjs uglifycss 压缩JS: 1.安装NODEJS.是一个在服务端运行的JS语言.下载地址https://nodejs.org/ ...

  4. 136.137.260. Single Number && 位运算

    136. Single Number 意思就是给你一堆数,每个数都出现了两次,只有一个数只出现了一次,找出这个数 位运算(和c艹一样) &:按位与 |:按位或 ^:异或(一样为0,不一样为1) ...

  5. 诶西,JavaScript学习记录。。。。。。

    由于大学课程缘故,老师巨爱叫人问问题,还记分呢,随便记录一下Js的学习情况,以后复习什么的也比较方便吧...... 开始咯,就按照C语言学习那样的方法来吧! ===================== ...

  6. JAVA多线程之volatile 与 synchronized 的比较

    一,volatile关键字的可见性 要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意图如下: 从图中可以看出: ①每个线程都有一个自己的本地内存空间--线程栈空 ...

  7. 【转】服务化框架技术选型与京东JSF解密

    [京东技术]声明:本文转载自微信公众号“开涛的博客”,转载务必声明. 作者:章耿,原京东资深架构师,曾负责京东服务框架,配置中心等基础平台.近十年工作经验,专注于基础中间件等底层技术架构,对分布式系统 ...

  8. java 数组声明定义 数组内存分配 数组初始化 数组引用 数组的遍历

    一,数组的定义 Java 中定义数组的语法有两种: 1. type arrayName[]; 2. type[] arrayName;type 为Java中的任意数据类型,包括基本类型和组合类型,ar ...

  9. Pandas库中的DataFrame

    1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...

  10. CF954F Runner's Problem(DP+矩阵快速幂优化)

    这题是一年前某场我参加过的Education Round codeforces的F题,当时我显然是不会的. 现在看看感觉应该是能做出的. 不扯了写题解: 考虑朴素的DP,在不存在障碍的情况下:f[i] ...