在IDEA中使用MyBatis Generator自动生成代码

时间:2023-03-09 03:08:00
在IDEA中使用MyBatis Generator自动生成代码

转载自 https://blog.csdn.net/hua_faded/article/details/78900780

一、配置Maven pom.xml 文件

在pom.xml增加以下插件:

  1.  
    <build>
  2.  
    <finalName>zsxt</finalName>
  3.  
    <plugins>
  4.  
    <plugin>
  5.  
    <groupId>org.mybatis.generator</groupId>
  6.  
    <artifactId>mybatis-generator-maven-plugin</artifactId>
  7.  
    <version>1.3.2</version>
  8.  
    <configuration>
  9.  
    <verbose>true</verbose>
  10.  
    <overwrite>true</overwrite>
  11.  
    </configuration>
  12.  
    </plugin>
  13.  
    </plugins>
  14.  
    </build>

配置好Maven插件,下面需要配置插件需要配置文件

二、在maven项目下的src/main/resources 目录下建立名为 Maven的项目配置文件存放路径如下图:generatorConfig.xml和generator.properties配置文件,

Maven的项目配置文件存放路径如下图:

在IDEA中使用MyBatis Generator自动生成代码

generatorConfig.xml代码如下:

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <!DOCTYPE generatorConfiguration
  3.  
    PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  4.  
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  5.  
     
  6.  
    <generatorConfiguration>
  7.  
    <!--导入属性配置-->
  8.  
    <properties resource="generator.properties"></properties>
  9.  
     
  10.  
    <!--指定特定数据库的jdbc驱动jar包的位置-->
  11.  
    <classPathEntry location="${jdbc.driverLocation}"/>
  12.  
     
  13.  
    <context id="default" targetRuntime="MyBatis3">
  14.  
     
  15.  
    <!-- optional,旨在创建class时,对注释进行控制 -->
  16.  
    <commentGenerator>
  17.  
    <property name="suppressDate" value="true"/>
  18.  
    <property name="suppressAllComments" value="true"/>
  19.  
    </commentGenerator>
  20.  
     
  21.  
    <!--jdbc的数据库连接 -->
  22.  
    <jdbcConnection
  23.  
    driverClass="${jdbc.driverClass}"
  24.  
    connectionURL="${jdbc.connectionURL}"
  25.  
    userId="${jdbc.userId}"
  26.  
    password="${jdbc.password}">
  27.  
    </jdbcConnection>
  28.  
     
  29.  
     
  30.  
    <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
  31.  
    <javaTypeResolver>
  32.  
    <property name="forceBigDecimals" value="false"/>
  33.  
    </javaTypeResolver>
  34.  
     
  35.  
     
  36.  
    <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
  37.  
    targetPackage 指定生成的model生成所在的包名
  38.  
    targetProject 指定在该项目下所在的路径
  39.  
    -->
  40.  
    <javaModelGenerator targetPackage="com.slx.zsxt.model"
  41.  
    targetProject="src/main/java">
  42.  
     
  43.  
    <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
  44.  
    <property name="enableSubPackages" value="false"/>
  45.  
    <!-- 是否对model添加 构造函数 -->
  46.  
    <property name="constructorBased" value="true"/>
  47.  
    <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
  48.  
    <property name="trimStrings" value="true"/>
  49.  
    <!-- 建立的Model对象是否 不可改变 即生成的Model对象不会有 setter方法,只有构造方法 -->
  50.  
    <property name="immutable" value="false"/>
  51.  
    </javaModelGenerator>
  52.  
     
  53.  
    <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
  54.  
    <sqlMapGenerator targetPackage="com.slx.zsxt.mapper"
  55.  
    targetProject="src/main/java">
  56.  
    <property name="enableSubPackages" value="false"/>
  57.  
    </sqlMapGenerator>
  58.  
     
  59.  
    <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
  60.  
    type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
  61.  
    type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
  62.  
    type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
  63.  
    -->
  64.  
    <javaClientGenerator targetPackage="com.slx.zsxt.dao"
  65.  
    targetProject="src/main/java" type="XMLMAPPER">
  66.  
    <property name="enableSubPackages" value="true"/>
  67.  
    </javaClientGenerator>
  68.  
     
  69.  
     
  70.  
    <table tableName="reguser" domainObjectName="User"
  71.  
    enableCountByExample="false" enableUpdateByExample="false"
  72.  
    enableDeleteByExample="false" enableSelectByExample="false"
  73.  
    selectByExampleQueryId="false">
  74.  
    </table>
  75.  
     
  76.  
    <table tableName="adminuser" domainObjectName="Admin"
  77.  
    enableCountByExample="false" enableUpdateByExample="false"
  78.  
    enableDeleteByExample="false" enableSelectByExample="false"
  79.  
    selectByExampleQueryId="false">
  80.  
    </table>
  81.  
    <table tableName="configinfo" domainObjectName="Confinfo"
  82.  
    enableCountByExample="false" enableUpdateByExample="false"
  83.  
    enableDeleteByExample="false" enableSelectByExample="false"
  84.  
    selectByExampleQueryId="false">
  85.  
    </table>
  86.  
    <table tableName="grade" domainObjectName="Grade"
  87.  
    enableCountByExample="false" enableUpdateByExample="false"
  88.  
    enableDeleteByExample="false" enableSelectByExample="false"
  89.  
    selectByExampleQueryId="false">
  90.  
    </table>
  91.  
    <table tableName="gradelog" domainObjectName="Gradelog"
  92.  
    enableCountByExample="false" enableUpdateByExample="false"
  93.  
    enableDeleteByExample="false" enableSelectByExample="false"
  94.  
    selectByExampleQueryId="false">
  95.  
    </table>
  96.  
    <table tableName="reginfo" domainObjectName="Reginfo"
  97.  
    enableCountByExample="false" enableUpdateByExample="false"
  98.  
    enableDeleteByExample="false" enableSelectByExample="false"
  99.  
    selectByExampleQueryId="false">
  100.  
    </table>
  101.  
    </context>
  102.  
    </generatorConfiguration>

generator.propertites代码如下:

  1.  
    jdbc.driverLocation=E:\\mvn_home\\mysql\\mysql-connector-java\\5.1.20\\mysql-connector-java-5.1.20.jar
  2.  
    jdbc.driverClass=com.mysql.jdbc.Driver
  3.  
    jdbc.connectionURL=jdbc:mysql:///zsxt
  4.  
    jdbc.userId=root
  5.  
    jdbc.password=123456

 

三、在Intellij IDEA添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件

点击 菜单run中Edit Configurations,会出现

在IDEA中使用MyBatis Generator自动生成代码

点击+号,选择maven,会出现

在IDEA中使用MyBatis Generator自动生成代码

在name和Commond line分别填上如上图所示,apply和ok

最后点击generator,生成model,mapper,dao

在IDEA中使用MyBatis Generator自动生成代码

逆向工程生成结果如下:

在IDEA中使用MyBatis Generator自动生成代码