开发环境

  JDK:8u102

  Maven:3.3.9

  MySQL:5.7.10

  MySQL Connector:5.1.40

  IDE:IntelliJ IDEA 2016

  MyBatis:3.4.1

  MyBatis Generator:1.3.5

项目案例:

  个人博客

项目结构:

  

   blog-dao-impl模块:只是考虑到多个实现层而已。象征性的创建在这里。

项目依赖关系:

  

数据库详细:

  

blog-dao-api pom.xml 详细:

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>blog</artifactId>
<groupId>pers.kaloquan</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion> <artifactId>blog-dao-api</artifactId> <properties>
<!-- MySQL Connector 版本 -->
<mysql-connector.version>5.1.40</mysql-connector.version>
<!-- MyBatis Generator 版本 -->
<mybatis-generator.version>1.3.5</mybatis-generator.version> <!-- 指定MyBatis Generator插件的配置文件 -->
<plugin.generator.configurationFile>${project.basedir}\src\main\resources\mybatis-generator.xml</plugin.generator.configurationFile>
<!-- 是否重写已存在的文件 -->
<plugin.generator.overwrite>true</plugin.generator.overwrite>
<!-- 生成器targetProject的根目录 -->
<generator.project.root>D:\IDEAProjects\blog</generator.project.root>
<!-- 生成器所需驱动包的路径 -->
<generator.classpath>D:\Maven repository\mysql\mysql-connector-java\5.1.40\mysql-connector-java-5.1.40.jar</generator.classpath> <!-- 驱动类 -->
<jdbc.driverClass>com.mysql.jdbc.Driver</jdbc.driverClass>
<!-- 链接地址 -->
<jdbc.url>jdbc:mysql://localhost:3306/blog?createDatabaseIfNotExist=true&amp;useSSL=true&amp;serverTimezone=UTC&amp;passwordCharacterEncoding=UTF-8&amp;characterEncoding=UTF-8</jdbc.url>
<!-- 用户名 -->
<jdbc.userId>root</jdbc.userId>
<!-- 密码 -->
<jdbc.password>root</jdbc.password>
</properties> <dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency> <dependency>
<groupId>pers.kaloquan</groupId>
<artifactId>blog-model</artifactId>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>${mybatis-generator.version}</version>
<!-- 插件配置 -->
<configuration>
<configurationFile>${plugin.generator.configurationFile}</configurationFile>
<overwrite>${plugin.generator.overwrite}</overwrite>
</configuration>
<!-- 编译之前需要执行的命令 -->
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

查看配置

  

  *注意:在properties标签中声明的属性值可以在mybatis-generator.xml中使用!

mybatis-generator.xml 详细:

  位置:(根据自己需要放在某个地方,改变后在对应项目的pom.xml文件中配置MyBatis Generator插件)

    

 <?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> <!-- !!!! Driver Class Path !!!! -->
<classPathEntry location="${generator.classpath}"/> <!-- 使用MyBatis3Simple,避免生成多余的代码 -->
<context id="context" targetRuntime="MyBatis3Simple">
<commentGenerator>
<property name="suppressAllComments" value="false"/>
<property name="suppressDate" value="true"/>
</commentGenerator> <!-- !!!! Database Configurations !!!! -->
<jdbcConnection driverClass="${jdbc.driverClass}" connectionURL="${jdbc.url}" userId="${jdbc.userId}" password="${jdbc.password}"/> <javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver> <!-- !!!! Model Configurations !!!! -->
<javaModelGenerator targetPackage="blog.model" targetProject="${generator.project.root}\blog-model\src\main\java">
<property name="enableSubPackages" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator> <!-- !!!! Mapper XML Configurations !!!! -->
<sqlMapGenerator targetPackage="mapper" targetProject="${generator.project.root}\blog-dao-impl\src\main\resources" >
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator> <!-- !!!! Mapper Interface Configurations !!!! -->
<!-- 使用MyBatis3Simple运行时,type只能为“ANNOTATEDMAPPER”或者“XMLMAPPER” -->
<!-- 这里采用注解配置,而非XML配置 -->
<javaClientGenerator targetPackage="blog.dao" targetProject="${generator.project.root}\blog-dao-api\src\main\java" type="ANNOTATEDMAPPER">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator> <!-- !!!! Table Configurations !!!! -->
<table tableName="user" schema="blog">
<columnOverride column="id" property="id"/>
<columnOverride column="name" property="name"/>
</table>
</context>
</generatorConfiguration>

查看配置

  不明确的地方或者有错误的地方,请指出!

参考资料:

  Driver/Datasource Class Names, URL Syntax and Configuration Properties for Connector/J

  MyBatis GeneratorXML Configuration File Reference

  Running MyBatis Generator With Maven

Maven多模块项目使用MyBatis Generator的更多相关文章

  1. IntelliJ Idea14 创建Maven多模块项目

    Maven多模块项目的参考资料 Sonatype上的教程 http://books.sonatype.com/mvnex-book/reference/multimodule.html 在这个教程里, ...

  2. SpringBoot+Maven多模块项目(创建、依赖、打包可执行jar包部署测试)完整流程

    一,创建Maven多模块项目先建立外层父工程         File →new →project  选择Spring Initializr          Next下一步到以下页面 工程结构如下 ...

  3. Spring Boot 项目实战(一)Maven 多模块项目搭建

    一.前言 最近公司项目准备开始重构,框架选定为 Spring Boot ,本篇主要记录了在 IDEA 中搭建 Spring Boot Maven 多模块项目的过程. 二.软件及硬件环境 macOS S ...

  4. SSM001/构建maven多模块项目

    一.Idea构建maven多模块项目 1.创建maven项目--创建父模块 [1].File->New->Module... [2].点击next,填写:GroupId,ArtifactI ...

  5. SpringBoot+Maven 多模块项目的构建、运行、打包实战

    前言 最近在做一个很复杂的会员综合线下线上商城大型项目,单模块项目无法满足多人开发和架构,很多模块都是重复的就想到了把模块提出来,做成公共模块,基于maven的多模块项目,也好分工开发,也便于后期微服 ...

  6. Maven入门,Maven项目的创建,nexus 2.x搭建私服以及Maven多模块项目创建

    maven的了解做一个总结,以便日后查阅, 若有不足之处,还望指出,学无止境 当然也能起到入门效果. 一,搭建maven私服 1.工具 a. Nexus 2.5.1-01 b. Maven 3.3.9 ...

  7. eclipse导入SVN上的Maven多模块项目

    eclipse导入SVN上的Maven多模块项目 博客分类: Eclipse&MyEclipse SVN Maven   一.SVN上Maven多模块项目结构 使用eclipse导入SVN上的 ...

  8. IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)

    Eclipse用多了,IntelliJ中创建Maven聚合项目可能有小伙伴还不太熟悉,我们今天就来看看. IntelliJ中创建普通的Java聚合项目相对来说比较容易,不会涉及到web操作,涉及到we ...

  9. maven多模块项目构建

    描述 一个大的企业级项目通常跨越了数十万行代码,牵涉了数十或数百软件人员的努力.如果开发者在同一个项目下开   发,那么项目的管理.构建将会变得很难控制.因此设计人员会将项目划分为多个模块,多个模块独 ...

随机推荐

  1. Android中GridView使用总结

    1.http://blog.csdn.net/hellogv/article/details/4567095  基础篇,GridView最基本的用法 2.http://my.eoe.cn/cainia ...

  2. 推荐几个学习Node的网址:

    推荐几个学习Node的网址: Nodejs 安装教程 http://jingyan.baidu.com/article/a948d6515d4c850a2dcd2e18.html http://nod ...

  3. Spark源码系列(二)RDD详解

    1.什么是RDD? 上一章讲了Spark提交作业的过程,这一章我们要讲RDD.简单的讲,RDD就是Spark的input,知道input是啥吧,就是输入的数据. RDD的全名是Resilient Di ...

  4. WPF使用扩展屏幕

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. Recover Binary Search Tree--leetcode难题讲解

    Two elements of a binary search tree (BST) are swapped by mistake.Recover the tree without changing ...

  6. 在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)

    GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL, ...

  7. 个性化EDM数据营销的三大提醒

    EDM数据营销行业已经进入个性化时代.但是怎样实现个性化仍然是一个重大课题.国内领先的智能化邮件营销服务商Focussend一直致力于探索和研究邮件营销领域的先进知识和做法,旨在为企业和个人提供更多有 ...

  8. 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)

    译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...

  9. 【C语言】zz优先队列的实现

    做一个题目时,看见解法中使用了优先队列,http://hawstein.com/posts/3.6.html . 颇为好奇,找资料学习了一下,顺便做个摘要. c++的用法: 转自:http://blo ...

  10. easyui+Spring MVC+hibernate = 乐途

    这个东西,玩的差不多了;不浪费口水了, 直接上图 发到blog 上让大家看看. 布局各方面有没有不足的地方 .请多多指教 http://item.taobao.com/item.htm?spm=686 ...