一  添加相关插件

<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${generator.version}</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>

二 添加pom依赖 版本为 1.3.7

<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>${generator.version}</version>
</dependency>

三  添加配置文件 datasource.properties

注意:

1- com.mysql.cj.jdbc.Driver

2- db.url需要添加时区设置 serverTimezone=UTC

db.driverLocation =  D:\\WorkSpace\\repository\\mysql-connector-java-8.0.7-dmr.jar
db.driverClassName = com.mysql.cj.jdbc.Driver
db.url = jdbc:mysql://localhost:3306/ebuy?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
db.username = root
db.password = root55

四 添加核心配置文件 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"> <!--详细使用文档请参见:https://blog.csdn.net/u014365133/article/details/78884751-->
<generatorConfiguration>
<!--导入属性配置 (0个或1个)-->
<properties resource="datasource.properties"/> <!--指定特定数据库的jdbc驱动jar包的位置 (0个或多个)-->
<!-- classPathEntry只在下面这两种情况下才有效:-->
<!-- 1- 当加载 JDBC 驱动内省数据库时 -->
<!-- 2- 当加载根类中的 JavaModelGenerator 检查重写的方法时 -->
<!-- 如果你需要加载其他用途的jar包,classPathEntry起不到作用 -->
<classPathEntry location="${db.driverLocation}"/> <!--context 指定生成一组对象的环境 (1个或多个)--> <!--targetRuntime: 此属性用于指定生成的代码的运行时环境。该属性支持以下可选值:(一般情况下使用默认值即可,有关这些值的具体作用以及区别请查看中文文档的详细内容。)-->
<!--MyBatis3- 这是默认值 -->
<!--MyBatis3Simple- 不生成和Example查询有关的内容,避免在后面的<table>中逐个进行配置 -->
<!--Ibatis2Java2-->
<!--Ibatis2Java5--> <!--defaultModelType: 可选参数,定义了MBG如何生成**实体类** -->
<!--conditional- 如果一个表的主键只有一个字段,那么不会为该字段生成单独的实体类,会将该字段合并到基本实体类中。*-->
<!--flat- 每一张表只生成一个实体类。这个实体类包含表中的所有字段。**这种模型最简单,推荐使用-->
<!--hierarchical- 如果表有主键,那么该模型会产生一个单独的主键实体类,如果表还有BLOB字段, 则会为表生成一个包含所有BLOB字段的单独的实体类,然后为所有其他的字段生成一个单独的实体类。 MBG会在所有生成的实体类之间维护一个继承关系--> <!--introspectedColumnImpl 扩展类,指定完全限定名即可实现自定义扩展 https://www.jianshu.com/p/b6d981b25409-->
<context id="default" targetRuntime="MyBatis3" defaultModelType="flat">
<!--!!!! context 的以下子元素有严格的顺序要求!!!!!!--> <!--当表名或者字段名为SQL关键字的时候,可以设置该属性为true,MBG会自动给表名或字段名添加``符-->
<property name = "autoDelimitKedywords" value="true"/>
<property name = "beginningDelimiter" value="`"/>
<property name = "endingDelimiter" value="`"/>
<!-- Java文件的编码 + 格式化java + 格式化XML -->
<property name="javaFileEncoding" value="UTF-8"/>
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
<property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/> <!--<plugin></plugin>--> <!-- optional,旨在创建class时,对注释进行控制,可以自定义一个扩展类 -->
<commentGenerator type="spring.cloud.service.config.MyCommentGenerator">
<!--阻止**生成的注释包含时间戳-->
<property name="suppressDate" value="true"/>
<!--阻止**生成注释-->
<property name="suppressAllComments" value="true"/>
</commentGenerator> <!--jdbc的数据库连接 -->
<jdbcConnection
driverClass="${db.driverClassName}"
connectionURL="${db.url}"
userId="${db.username}"
password="${db.password}">
</jdbcConnection> <!-- 非必需,该属性可以控制是否强制DECIMAL和NUMERIC类型的字段转换为Java类型的java.math.BigDecimal,默认值为false:
默认情况下的转换规则为:
如果精度>0或者长度>18,就会使用java.math.BigDecimal
如果精度=0并且10<=长度<=18,就会使用java.lang.Long
如果精度=0并且5<=长度<=9,就会使用java.lang.Integer
如果精度=0并且长度<5,就会使用java.lang.Short 如果设置为true,那么一定会使用java.math.BigDecimal
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver> <!--
Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
targetPackage- 指定生成的model生成所在的包名
targetProject- 指定在该项目下所在的路径
添加 <property name="trimStrings" value="false"/>,可以对CHAR类型的列做trim操作
enableSubPackages- 属性可以将pojo分子包放置
immutable- 生成的pojo是否可变?(没有setter方法)
-->
<javaModelGenerator targetPackage="spring.cloud.service.pojo" targetProject="src/main/java"/> <!--mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
<sqlMapGenerator targetPackage="mappers" targetProject="./src/main/resources"/> <!--
客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
-->
<javaClientGenerator type="XMLMAPPER" targetPackage="spring.cloud.service.dao" targetProject="src/main/java"/> <table tableName="test_date" domainObjectName="TestDate" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
<!--在insert语句中,返回自增主键-->
<generatedKey column="id" sqlStatement="Mysql"/>
</table>
</context>
</generatorConfiguration>

Generator自动生成DAO和POJO代码的更多相关文章

  1. mybatis generator 自动生成dao层映射代码

    资源: doc url :http://www.mybatis.org/generator/ download:https://github.com/mybatis/generator/release ...

  2. 【Java MyBatis Generator】使用generator自动生成Dao,Mapping和实体文件

    具体请参照: http://blog.csdn.net/fengshizty/article/details/43086833 按照上面博客地址,下载Generator的依赖包: 如下是我的配置文件: ...

  3. MyBatis Generator自动生成MyBatis的映射代码

    MyBatis Generator大大简化了MyBatis的数据库的代码编写,有了一个配置文件,就可以直接根据表映射成实体类.Dao类和xml映射.资源地址:MyBatis项目地址:http://my ...

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

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

  5. 使用Mybatis Generator自动生成Mybatis相关代码

    本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码: 一.构建一个环境: 1. 首先创建一个表: CREATE TABLE pet (name VARCHAR(2 ...

  6. MyBatis使用Generator自动生成代码

    MyBatis中,可以使用Generator自动生成代码,包括DAO层. MODEL层 .MAPPING SQL映射文件. 第一步: 配置好自动生成代码所需的XML配置文件,例如(generator. ...

  7. idea中mybatis generator自动生成代码配置 数据库是sqlserver

    好长时间没有写博客了,最近公司要用java语言,开始学习java,属于初学者,今天主要记录一下mybatis generator自动生成代码,首先在如下图的目录中新建两个文件,如下图 generato ...

  8. SpringBoot 添加mybatis generator 自动生成代码插件

    自动生成数据层代码,提高开发效率 1.pom添加插件,并指定配置文件路径 <!-- mybatis generator 自动生成代码插件 --> <plugin> <gr ...

  9. springboot学习随笔(四):Springboot整合mybatis(含generator自动生成代码)

    这章我们将通过springboot整合mybatis来操作数据库 以下内容分为两部分,一部分主要介绍generator自动生成代码,生成model.dao层接口.dao接口对应的sql配置文件 第一部 ...

随机推荐

  1. 初探React Hooks & SSR改造

    Hooks React v16.8 发布了 Hooks,其主要是解决跨组件.组件复用的状态管理问题. 在 class 中组件的状态封装在对象中,然后通过单向数据流来组织组件间的状态交互.这种模式下,跨 ...

  2. Django与supervisor 管理进程

    1.前言 在Django项目中,我们需要用到一些独立于Django框架外的脚本.这样一些脚本可能需要独立的持续运行,且具有很强的可维护性,这个时候supervisor就可以排上用场了. 基于pytho ...

  3. CSS3_伸缩盒模型_弹性布局_等分布局_flex 布局

    伸缩盒模型 CSS3 引入的布局模式 Flexbox 布局 主要思想: 让容器有能力让其子项目能够改变其宽度,高度,以最佳方式填充可用空间. 特点: display: flex;    只能控制其子元 ...

  4. ECMA Script 6_解构赋值_模式匹配

    解构赋值 从数组中提取值,按照对应位置,对变量赋值 只要等号右边的值不是对象或数组,就先将其转为对象. 由于 undefined 和 null 无法转为对象,所以对它们进行解构赋值,都会报错 let ...

  5. 3.2station

    题意火车进入,然后要求以最大字典序输出 解题思路:先用一个数组储存当前位置之后最大的数字是什么,然后把已经进站的最后一节火车和还没进站的车的最大值,哪个更大,如果已经进站的更大,那么就先出站,否则就先 ...

  6. Zookeeper运维问题集锦

    实际工作中用到Zookeeper集群的地方很多, 也碰到过各种各样的问题, 在这里作个收集整理, 后续会一直补充; 其中很多问题的原因, 解决方案都是google而来, 这里只是作次搬运工; 其实很多 ...

  7. stm32入门学习路线个人见解

    可以说就目前的市场需求来看,stm32在单片机领域已经拥有了绝对的地位,51什么的已经过时了也只能拿来打基础了,最后依然会转到stm32来,也正是因为这样stm32的学习者越来越多,其中不难发现绝大部 ...

  8. mysql 储存过程

    存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...

  9. JAVA RPC (四) 之thrift序列化普通对象

    先简单写一个thrift文件 本地通过thrift编译之后会生成一个java源文件.------编译口令 :thrift -gen java mytestrequest.thrift 编译后的源代码如 ...

  10. CITS1401 Computational Thinking with Python

    Department of Computer Science and Software EngineeringCITS1401 ComputationalThinking with PythonPro ...