在gradle中使用MyBatis Generator时,build.gradle配置如下:

dependencies {mybatisGenerator group: 'org.mybatis.generator', name: 'mybatis-generator-core', version: '1.3.6'mybatisGenerator('com.feixue:assembly-mybatis:1.0-SNAPSHOT')mybatisGenerator('mysql:mysql-connector-java')
}//mybatis generator plugin ------ start
buildscript {repositories {mavenLocal()mavenCentral()maven {url "https://plugins.gradle.org/m2/"}}dependencies {classpath "gradle.plugin.com.arenagod.gradle:mybatis-generator-plugin:1.4"}
}apply plugin: "com.arenagod.gradle.MybatisGenerator"configurations {mybatisGenerator
}mybatisGenerator {verbose = trueconfigFile = 'src/main/resources/tools/generatorConfig.xml'
}
//mybatis generator plugin ------ end

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><!--id:必选,上下文id,用于在生成错误时提示--><context id="mysql" targetRuntime="MyBatis3"><!-- 生成的Java文件的编码 --><property name="javaFileEncoding" value="UTF-8"/><plugin type="com.feixue.assembly.mybatis.MysqlLimitPlugin"></plugin><!-- 对注释进行控制 --><commentGenerator><!-- suppressDate是去掉生成日期那行注释 --><property name="suppressDate" value="true"/><!-- suppressAllComments是去掉所有的注解 --><property name="suppressAllComments" value="true"/></commentGenerator><!--jdbc的数据库连接 --><jdbcConnectiondriverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/inventory?useUnicode=true&amp;characterEncoding=utf8&amp;autoReconnect=true&amp;failOverReadOnly=false"userId="root"password="111111"></jdbcConnection><!-- java类型处理器用于处理DB中的类型到Java中的类型,默认使用JavaTypeResolverDefaultImpl;注意一点,默认会先尝试使用Integer,Long,Short等来对应DECIMAL和 NUMERIC数据类型;--><javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl"><!--true:使用BigDecimal对应DECIMAL和 NUMERIC数据类型false:默认,scale>0;length>18:使用BigDecimal;scale=0;length[10,18]:使用Long;scale=0;length[5,9]:使用Integer;scale=0;length<5:使用Short;--><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- java模型创建器,是必须要的元素负责:1,key类(见context的defaultModelType);2,java类;3,查询类targetPackage:生成的类要放的包,真实的包受enableSubPackages属性控制;targetProject:目标项目,指定一个存在的目录下,生成的内容会放到指定目录中,如果目录不存在,MBG不会自动建目录--><javaModelGenerator targetPackage="com.xxx.domain.model" targetProject="src/main/java"><!-- 是否允许子包,即targetPackage.schemaName.tableName --><property name="enableSubPackages" value="true"/><!-- 是否对类CHAR类型的列的数据进行trim操作 --><property name="trimStrings" value="true"/><!-- 建立的Model对象是否 不可改变  即生成的Model对象不会有 setter方法,只有构造方法 --><property name="immutable" value="false"/></javaModelGenerator><!-- 生成SQL map的XML文件生成器,注意,在Mybatis3之后,我们可以使用mapper.xml文件+Mapper接口(或者不用mapper接口),或者只使用Mapper接口+Annotation,所以,如果 javaClientGenerator配置中配置了需要生成XML的话,这个元素就必须配置targetPackage/targetProject:同javaModelGenerator--><sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"><!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false --><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- 对于mybatis来说,即生成Mapper接口,注意,如果没有配置该元素,那么默认不会生成Mapper接口targetPackage/targetProject:同javaModelGeneratortype:选择怎么生成mapper接口(在MyBatis3/MyBatis3Simple下):1,ANNOTATEDMAPPER:会生成使用Mapper接口+Annotation的方式创建(SQL生成在annotation中),不会生成对应的XML;2,MIXEDMAPPER:使用混合配置,会生成Mapper接口,并适当添加合适的Annotation,但是XML会生成在XML中;3,XMLMAPPER:会生成Mapper接口,接口完全依赖XML;注意,如果context是MyBatis3Simple:只支持ANNOTATEDMAPPER和XMLMAPPER--><javaClientGenerator targetPackage="com.xxx.mapper" type="XMLMAPPER" targetProject="src/main/java"><!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false --><property name="enableSubPackages" value="true"/></javaClientGenerator><!-- 选择一个table来生成相关文件,可以有一个或多个table,必须要有table元素tableName(必要):要生成对象的表名;domainObjectName 给表对应的 model 起名字注意:大小写敏感问题。--><table tableName="discount" domainObjectName="Discount"enableCountByExample="true" enableUpdateByExample="true"enableDeleteByExample="true" enableSelectByExample="true"selectByExampleQueryId="true"><!--用来修改表中某个列的属性,一个table元素中可以有多个columnOverride元素哈.property属性来指定列要生成的属性名称.--><!--<columnOverride column="username" property="userName" />--><generatedKey column="discount_id" sqlStatement="MySql" identity="true"/></table></context></generatorConfiguration>

当引入扩展的mybatis generator的plugin时,要用mybatisGenerator,而不是compile。

转载于:https://www.cnblogs.com/asfeixue/p/9222130.html

mybatis(一)MyBatis Generator相关推荐

  1. mybatis框架使用generator的快速搭建

    mybatis框架使用generator的快速搭建 首先建立一个maven项目,在idea中直接使用下图建立 然后按照以下步骤 使用generator工具快速生成,dao层,bean层,mapper层 ...

  2. MyBatis系列-Mybatis入门精讲

    导语   在之前的分享中没有做过关于Mybatis内容相关的分享,这段时间深入的学习了关于Mybatis的相关知识,这里首先来对Mybatis的相关基础知识做一个介绍,这个系列的分享博主会做到有始有终 ...

  3. MyBatis No MyBatis mapper was found in ‘[xx.mapper]‘ package. Please check your configuration

    问题情形 在使用SpringBoot集成MyBatis的过程中,项目正常启动,但控制台打出如下日志: No MyBatis mapper was found in '[com.woxin.itsm.m ...

  4. (Mybatis)Mybatis简介和初步使用

    1. Mybatis简介 1.1什么是Mybatis MyBatis 是一款优秀的持久层框架 它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参 ...

  5. MyBatis(三)MyBatis缓存和工作原理

    MyBatis缓存 MyBatis提供了一级缓存和二级缓存,并且预留了集成第三方缓存的接口. 从上面MyBatis的包结构可以很容易看出跟缓存相关的类都在cache的package里,其底层是一个Ca ...

  6. MyBatis(一)MyBatis介绍和配置详解

    在Java程序里面去操作数据库,最原始的办法是使用JDBC的API.需要分为六步: 注册驱动 通过DriverManager获取一个Connection 通过Connection创建一个Stateme ...

  7. MyBatis(二)MyBatis基本流程源码分析

    MyBatis体系结构 MyBatis的工作流程 在MyBatis启动的时候我们要去解析配置文件,包括全局配置文件和映射器配置文件,我们会把它们解析成一个Configuration对象,里面会包含各种 ...

  8. 【MyBatis】MyBatis初体验

    文章目录 框架 软件开发三层结构 MyBatis概念 MyBatis由来 ORM框架与MyBatis的区别 MyBatis编码流程 框架 是一个可以重复使用的设计构件,我们在做开发的时候框架是直接调来 ...

  9. MyBatis】MyBatis一级缓存和二级缓存

    转载自  MyBatis]MyBatis一级缓存和二级缓存 MyBatis自带的缓存有一级缓存和二级缓存 一级缓存 Mybatis的一级缓存是指Session缓存.一级缓存的作用域默认是一个SqlSe ...

  10. mybatis传递多个参数_深入浅出MyBatis:MyBatis解析和运行原理

    原文:https://juejin.im/post/5abcbd946fb9a028d1412efc 本篇文章是「深入浅出MyBatis:技术原理与实践」书籍的总结笔记. 上一篇介绍了反射和动态代理基 ...

最新文章

  1. 笔记-中项案例题-2019年下-信息系统安全管理
  2. MySQL三大日志及主从复制的原理
  3. Django(part19)--Django中的应用
  4. python无师自通配套资源_Python编程 无师自通 专业程序员的养成
  5. HTTP POST GET 本质区别详解(转)
  6. Codeforces Round #693 (Div. 3)A~G解题报告
  7. sql2005-数据库备份方案
  8. 中img拉伸_8个拉伸动作,帮你调动全身肌肉,提高柔韧性,缓解疲劳放松心情...
  9. android一般会重载7个方法,《Android技术应用》答案(2013年)
  10. Cesium:地球中实现点击浮动弹窗
  11. tp框架like模糊查询报错
  12. 小觅双目相机如何使用_小觅双目摄像头是怎样的产品?
  13. 自学编程难吗?如何学?
  14. 出轨的是老公为什么要老婆做出改变
  15. 高质量解读《互联网企业安全高级指南》三部曲——实践篇
  16. pytorch 入门:GPU加速,卷积层,池化层
  17. JVM分代回收机制和垃圾回收算法
  18. 数据结构《顺序栈》知识点详解+C语言完整代码-超详细
  19. JMeter基础 — JMeter聚合报告详解
  20. 语音的扩张——共鸣器官

热门文章

  1. 独家 | 揭底!BiYong被爆严重用户隐私安全漏洞!
  2. day36 cookiessession
  3. easyui Datagrid+searchbox 实现搜索功能
  4. 线性代数 —— 线性组合与线性表出,线性相关与线性无关
  5. 8个商用图片素材库,你一定要收藏
  6. Oracle数据库学习的第二天(Oracle的简单操作)
  7. 销售——LPN(License Plate Number)
  8. 经销商、业务人员和销售提成的三个故事
  9. 外汇天眼:英国央行是如何向市场抛出救生索的
  10. 吴恩达提出了著名的二八定律