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>
    

    官方文档还有很多功能,可以进入官方文档页面查看。

    http://www.mybatis.org/generator/

Maven项目下的Mybatis逆向工程的更多相关文章

  1. Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL

    Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL     严重: Error config ...

  2. Maven项目下update maven后Eclipse报错

    Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL     严重: Error config ...

  3. Maven项目下HttpServletRequest 或 HttpServletResponse需引用的依赖包

    转载: http://xyly624.blog.51cto.com/842520/865630/ Maven项目下HttpServletRequest 或 HttpServletResponse需引用 ...

  4. maven项目下tomcat直接启动不了(LifecycleException)。报错如下截图

    经查,tomcat项目下的lib中没有jar包,发布的时候没有将jar包发布上去.这个问题在我的博客中以前遇到过.如何将maven的jar发布到项目中,我的博客里面有记载

  5. Maven项目下WEB-INFO目录下没有编译的classes文件

    建立mavan项目之后,在项目目录中没有发现编译的classes文件夹 解决办法: 因为maven是默认将编译后的classes文件存入项目下的target文件夹中,所以我们需要修改编译后存放的路径, ...

  6. idea的maven项目下spring与mybatis整合

    两周前学习mybatis框架,参考了网上多位大神的博客,但因为各种原因(不解释)总是没法成功搭建环境并运行项目.周末花了点时间阅读了文档并整理之前琐碎的内容,解决掉之前遇到的问题.现将整合环境的关键步 ...

  7. Mybatis第九篇【基于Maven在Idea下Mybatis逆向工程】

    前言 在Intellij idea下,没有学习Maven的情况下使用Mybatis的逆向工程好像有点复杂,资料太少了-找到的资料好像也行不通- 于是学完Maven之后,我就再来更新Idea下使用Myb ...

  8. Maven项目下java.lang.ClassNotFoundException的解决方法

    问题背景: Maven的project下,项目中已经引用了相应的jar包.Java class中没有语法错误,在执行时报ClassNotFound.检查了Maven的pom.xml,依赖引入正常. 错 ...

  9. maven项目下jsp文件中el表达式失效问题

    本来是为了写个springmvc的小demo,雏形搭建起来后想起来做成maven的好了,就重新建的maven项目,坑就从这里开始了... maven创建web项目默认使用的是web 2.3版本,web ...

随机推荐

  1. C#路径中获取文件全路径、目录、扩展名、文件名称

    C#路径中获取文件全路径.目录.扩展名.文件名称常用函数 需要引用System.IO 直接可以调用Path的静态方法 class Program { static void Main(string[] ...

  2. .NET CORE 使用Dapper连接MSSQL,MYSQL

    Project file: <Project Sdk="Microsoft.NET.Sdk">   <PropertyGroup>     <Outp ...

  3. pytorch加载预训练模型参数的方式

    1.直接使用默认程序里的下载方式,往往比较慢: 2.通过修改源代码,使得模型加载已经下载好的参数,修改地方如下: 通过查找自己代码里所调用网络的类,使用pycharm自带的函数查找功能(ctrl+鼠标 ...

  4. 一个Monkey测试的小坑

    环境:Genymotion模拟器+Custome Phone-6.0.0,API 23 操作步骤如下: cd data/app ls //为了获取待测apk的包名 获取结果如下: 执行命令,其中包名使 ...

  5. zw字王《中华大字库》2018版升级项目正式启动

    zw字王<中华大字库>2018版升级项目正式启动 https://www.cnblogs.com/ziwang/p/9500537.html 这次升级是和字库协会一起合作,首批推出的字体, ...

  6. 模块cv2的用法

    一.读入图像 使用函数cv2.imread(filepath,flags)读入一副图片 filepath:要读入图片的完整路径 flags:读入图片的标志  cv2.IMREAD_COLOR:默认参数 ...

  7. c#进阶之泛型

    好久没用写博了,感觉工作的越久就越发的懒了,啦啦啦!德玛西亚! 感觉最近食欲不正,便想写写组织下自己的学习路程: 泛型,可能很多朋友在学习这个东西的时候都源于面向对象,当然我也不例外:从一个实体继承另 ...

  8. python selenium 百度登录

    from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www. ...

  9. Linux的DNS配置1-DNS入门

    1.DNS简介 1)什么是“DNS”? DNS,简单地说,就是Domain Name System,翻成中文就是“域名系统” 2)DNS有什么用途? 在一个TCP/IP架构的网络(例如Internet ...

  10. 51nod 1009 数字1的数量(数位dp模板)

    给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数. 例如:n = 12,包含了5个1.1,10,12共包含3个1,11包含2个1,总共5个1.   数位dp的模板题   ...