开发环境

  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. 利用VBA查找excel中一行某列第一次不为空与最后一列不为空的列数

    昨日同事有需求,想知道每个商品第一次销售的月份,以及最后一次销售的月份. 本想通过什么excel函数来解决,但是找了半天也没找到合适的,最后还是通过VBA来解决吧. 使用方法: Excel工具-宏-V ...

  2. sizeof and strlen整理

    sizeof 定义 计算对象或类型所占用的字节数(byte) 记住是字节数,而不是个数 语法 sizeof(对象) int i; sizeof(i); sizeof(类型) sizeof(int); ...

  3. HTML CSS——margin和padding的学习

    你在学习margin和padding的时候是不是懵了,——什么他娘的内边距,什么他娘的外边距.呵呵呵,刚开始我也有点不理解,后来通过查资料学习总算弄明白了,现在我来谈一下自己对margin和paddi ...

  4. char str[]和char *str的区别

    1.http://blog.csdn.net/szchtx/article/details/10396149 char ss[]="C++";  ss[0]='c';        ...

  5. CentOS下mysql安装和配置

    1.卸载原有mysql [root@iZ25ka6ra32Z /]# rpm -qa | grep mysql 查看该操作系统上是否已经安装了mysql数据库.有的话,我们就通过 rpm -e 命令 ...

  6. [fun code - 模拟]孤独的“7”

    今天看到朋友圈里有人发了一张孤独的7的题目,第一反应就是模拟后计算出结果,而女朋友则更爱推理,手算.

  7. 【cs229-Lecture16】马尔可夫决策过程

    之前讲了监督学习和无监督学习,今天主要讲“强化学习”. 马尔科夫决策过程:Markov Decision Process(MDP) 价值函数:value function 值迭代:value iter ...

  8. ASP.NET Web API 的简单示例

    Demo1: HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> ...

  9. 使用MyXls,出现访问被拒绝情况

    MyXls 作为一款比较好用的 操作Excel 的开源项目. 最近日常偶然发现报权限的问题,导出xls失败,处理方式以下: 如报上图所示错误,则需要在web.config中 <system.we ...

  10. ruby -- 进阶学习(六) devise修改邮件发送者邮箱

    在config/environment.rb/development.rb或者config/environment/production.rb中, 简单示范例子: Text03::Applicatio ...