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

  1. 点击+号选择maven
  2. 自定义name
  3. 选择项目路径
  4. 输入逆向工程的命令

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逆向工程的更多相关文章

  1. SpringBoot项目的mybatis逆向工程

    <dependencies> <!--mybatis--> <dependency> <groupId>org.mybatis.spring.boot& ...

  2. eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目)

    eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目) NO1 导入时依次选择 import > Maven > Existing Maven Projects ...

  3. eclipse 修改maven项目的jdk版本

      eclipse 修改maven项目的jdk版本 CreationTime--2018年6月8日10点29分 Author:Marydon 1.情景展示 jdk版本太低,如何修改 2.错误方式 第一 ...

  4. maven项目的pom.xml文件详解

    <project xmlns="http://maven.apache.org/POM/4.0.0 " 2 xmlns:xsi="http://www.w3.org ...

  5. 使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)

    逆向工程简介: mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java.mapper.xml.pojo…),可以让程序员将更多的精力放在繁杂的业务逻 ...

  6. maven(四):一个基本maven项目的pom.xml配置

    继续之前创建的test项目,一个基本项目的pom.xml文件,通常至少有三个部分 第一部分,项目坐标,信息描述等 <modelVersion>4.0.0</modelVersion& ...

  7. Maven项目的pom.xml配置文件格式初识

    Maven项目 有pom.xml文件的项目就已经是一个maven项目了,但是还没有被maven托管,我们需要将该项目添加为maven项目 <project xmlns="http:// ...

  8. 回顾maven项目的spring boot相关知识点

    2021新年快乐! 在参加完研究生考试后,感觉像是放下了一个大负担,但并不能就此以为什么都结束了.反而,当我今天去看了一下之前老师带领我们班级做的一个maven项目,感觉像是第一次看到这个,十分陌生. ...

  9. 如何在maven项目的pom.xml文件中添加jar包

    在使用maven进行项目开发时,我们需要在pom.xml文件中添加自己所需要的jar包.这就要求我们获取jar包的groupId和artifactId. 我们可以在一些maven仓库上搜索我们所需要的 ...

随机推荐

  1. allegro把formate symbol文件从一个文件拷入另一个文件的方法

    allegro画好PCB后经常需要添加一些说明谢谢,比如叠层信息.阻抗表等,但是每次都自己画太麻烦,现在就写下如何重复使用各种格式. 1.打开包含这些信息的板子,FILE-> Export -& ...

  2. iOS上传图片和视频(base64和file)

    前言:iOS开发中经常会使用到图片和视频上传及保存到相册,下面我讲介绍视频图片的两种上传服务器的方法.以阿里云的OSS服务器为例. 友情提示:上传图片方法在APP中使用很广泛,最好单独写一个图片上传的 ...

  3. 2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

    1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,sys ...

  4. Mac下vim7.4+vimgdb让vim支持gdb源码调试

    下载vimgdb https://github.com/cpiger/vimgdb-for-vim7.4 下载vim7.4源码 将两个文件或者文件夹放到同一个目录解压 tar xjvf vim-7.4 ...

  5. 7#Java基本语句语法

    Java基本语句语法https://github.com/DuGuQiuBai/Java/blob/master/day03/day03%E6%80%BB%E7%BB%93.txt 1:位运算符(了解 ...

  6. python查询数据库返回数据

    python查询数据库返回数据主要运用到flask框架,pymysql 和 json‘插件’ #!/usr/bin/python # -*- coding: UTF-8 -*- import pymy ...

  7. redis maxheap 51200000

    Redis无法启动 今天在启动Redis时提示以下错: C:\Java\redis2817>redis-server.exe redis.windows.conf [5268] 23 Apr 1 ...

  8. pyppeteer(python版puppeteer)基本使用

    一.前言 以前使用selenium的无头浏览器,自从phantomjs2016后慢慢不更新了之后,selenium也开始找下家,这时候谷歌的chrome率先搞出来无头浏览器并开放了各种api,随后fi ...

  9. mysql服务启动不了 More help is available by typing NET HELPMSG 3534

    解决方法:参考 注意:如果安装MySQL的时候改了端口(如从3306改成3307),则my.ini配置文件的端口也需要相应的修改

  10. 微信小程序将网络图片转化为base64

    网络图片需用wx.downloadFile下载,然后调用微信自带的base64转化 可能会存在兼容, let image_to_base64 = function(img){ return new P ...