IDEA Maven项目的Mybatis逆向工程
IDEA Maven项目的Mybatis逆向工程
1.配置.pom
如果是在多模块开发下,该文件逆向工程要生成的那个模块下的pom文件。
<build>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
2.在项目根目录下新建generatorConfig.xml文件
如果是在多模块开发下,该文件逆向工程要生成的那个模块下的根目录下(src\main\resourse)。
下面是官方文档提供的参考文件:
具体配置见 4.[配置文件详解]
<?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>
<classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="COM.ibm.db2.jdbc.app.DB2Driver"
connectionURL="jdbc:db2:TEST"
userId="db2admin"
password="db2admin">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<javaModelGenerator targetPackage="test.model" targetProject="\MBGTestProject\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<sqlMapGenerator targetPackage="test.xml" targetProject="\MBGTestProject\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="test.dao" targetProject="\MBGTestProject\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
<property name="useActualColumnNames" value="true"/>
<generatedKey column="ID" sqlStatement="DB2" identity="true" />
<columnOverride column="DATE_FIELD" property="startDate" />
<ignoreColumn column="FRED" />
<columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
</table>
</context>
</generatorConfiguration>
3.运行mybatis配置文件

- 选择右上角运行按钮旁边的三角,选择Edit Configurations

- 点击+号选择maven
- 自定义name
- 选择项目路径
- 输入逆向工程的命令
4.注: 配置文件详解
<classPathEntry>在pom文件中加入
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.45</version> </dependency>依赖后可省略;
<context>id:逆向工程的唯一标识,此值可以被应用到一些错误信息;
targetRuntime:此属性用于指定生成的代码的运行时目标。常见值为Mybatis3,Mybatis3Simple等。
<jdbcConnection>数据库连接信息,可参考数据库的配置文件db.properties。
<javaTypeResolver>(非必须)该标签是用来定义java类型解析器的属性,java类型解析器是用于转换从数据库列名的类型对应的java类型。
<javaModelGenerator>该标签决定逆向工程生成实体的位置。
targetPackage决定生成在哪个包下,默认存放在src目录下;(com.test.entity)
targetProject决定生成到的目标工程;(.\src\main\java)
enableSubPackages:是否放schema作为包的后缀;(false)
trimString:从数据库返回的值是否删除前后的空格;
<sqlMapGenerator>生成XxxMapper.xml文件的位置,类似
<javaModelGenerator>targetPackage决定生成在哪个包下;(mappers)
targetProject决定生成到的目标工程;(.\src\main\resourse)
enableSubPackages:是否放schema作为包的后缀;(false)
<javaClientGenerator>生成XxxMapper接口文件的位置,类似
<javaModelGenerator>targetPackage决定生成在哪个包下;(com.test.dao)
targetProject决定生成到的目标工程;(.\src\main\java)
enableSubPackages:是否放schema作为包的后缀;(false)
- 注意:在配置生成实体类,mapper接口,mapper.xml配置文件的位置时,如果要生成到不同的模块中,或者有找不到文件位置时,可以采用完整路径的方式。
<table>schema:不用填写;
tableName:表名;
domainObjectName:自动生成的实体文件名;
5.官方文档提供的其他功能
mybatis逆向工程在官方文档具有非常详细的解释,包括对生成文件内容的定义,可以去掉注释,取消生成mapper文件自动生成的增删改查等。
官方文档地址:http://www.mybatis.org/generator/
去注释:(context下)
是否去除所有自动生成文件的注释:
<commentGenerator>
<!-- 是否去除所有自动生成的文件的时间戳:-->
<property name="suppressDate" value="false"/>
<!-- 是否去除所有自动生成文件的注释:-->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
去掉实体文件下的Example实体类文件。
<table tableName="user"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
官方文档还有很多功能,可以进入官方文档页面查看。
IDEA Maven项目的Mybatis逆向工程的更多相关文章
- SpringBoot项目的mybatis逆向工程
<dependencies> <!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot& ...
- eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目)
eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目) NO1 导入时依次选择 import > Maven > Existing Maven Projects ...
- eclipse 修改maven项目的jdk版本
eclipse 修改maven项目的jdk版本 CreationTime--2018年6月8日10点29分 Author:Marydon 1.情景展示 jdk版本太低,如何修改 2.错误方式 第一 ...
- maven项目的pom.xml文件详解
<project xmlns="http://maven.apache.org/POM/4.0.0 " 2 xmlns:xsi="http://www.w3.org ...
- 使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)
逆向工程简介: mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml.pojo…),可以让程序员将更多的精力放在繁杂的业务逻 ...
- maven(四):一个基本maven项目的pom.xml配置
继续之前创建的test项目,一个基本项目的pom.xml文件,通常至少有三个部分 第一部分,项目坐标,信息描述等 <modelVersion>4.0.0</modelVersion& ...
- Maven项目的pom.xml配置文件格式初识
Maven项目 有pom.xml文件的项目就已经是一个maven项目了,但是还没有被maven托管,我们需要将该项目添加为maven项目 <project xmlns="http:// ...
- 回顾maven项目的spring boot相关知识点
2021新年快乐! 在参加完研究生考试后,感觉像是放下了一个大负担,但并不能就此以为什么都结束了.反而,当我今天去看了一下之前老师带领我们班级做的一个maven项目,感觉像是第一次看到这个,十分陌生. ...
- 如何在maven项目的pom.xml文件中添加jar包
在使用maven进行项目开发时,我们需要在pom.xml文件中添加自己所需要的jar包.这就要求我们获取jar包的groupId和artifactId. 我们可以在一些maven仓库上搜索我们所需要的 ...
随机推荐
- Cocos Creator 动态设置Canvas的宽度与高度,更改适配
let c = this.node.getComponent(cc.Canvas);c.fitHeight = true;c.fitWidth = false; let h = 960 * cc.wi ...
- python数组
1. 初始化一个具有20个元素,元素的值为 1*1, 2*2, 3*3, ......., n*n的数组 A = [i*i for i in range(1, 20)] print A 2. 初始化一 ...
- java String补足
regionMatches()方法: equals 比较内容 == 比较的是地址
- C++模板的要点
1.函数模板与普通函数的区别: 普通函数可以进行自动类型转化,而函数模板不可以. 举个例子 //函数模板 template<class T> void show(T a,T b){ cou ...
- 如何正确对用户密码进行加密?转自https://blog.csdn.net/zhouyan8603/article/details/80473083
本文介绍了对密码哈希加密的基础知识,以及什么是正确的加密方式.还介绍了常见的密码破解方法,给出了如何避免密码被破解的思路.相信读者阅读本文后,就会对密码的加密有一个正确的认识,并对密码正确进行加密措施 ...
- 迷宫问题 (bfs广度优先搜索记录路径)
问题描述: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, ...
- Python实现图像边缘检测算法
title: "Python实现图像边缘检测算法" date: 2018-06-12T17:06:53+08:00 tags: ["图形学"] categori ...
- day13 python迭代器与生成器
迭代器 字符串.列表.元组.字典.集合都可以被for循环,说明他们都是可迭代的 可迭代协议 : 就是内部实现了__iter__方法 可以被for循环的都是可迭代的,要想可迭代,内部必须有一个__ite ...
- mika的模板库
二分图最大匹配: 1.匈牙利算法:注意dfs中是dfs(c[w[i]]),搜索的是与之匹配的点. #include<cstdio> #include<cstring> ],w[ ...
- MQ知识点汇总
1. MQ是什么 2. MQ能做什么 3. 消息模式 4. 使用MQ的时候需要注意什么 5. 常用MQ 6. MQ的不足 7. 什么时候不适用MQ 8. MQ的组成 9. MQ的关注点 1. MQ是什 ...