欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解在IDEA中使用MyBatis Generator逆向工程生成代码

程序员文章站 2023-12-18 10:55:40
本文介绍一下用maven工具如何生成mybatis的代码及映射的文件。 一、配置maven pom.xml 文件 在pom.xml增加以下插件:

本文介绍一下用maven工具如何生成mybatis的代码及映射的文件。

一、配置maven pom.xml 文件

在pom.xml增加以下插件:

<build>
 <finalname>zsxt</finalname>
 <plugins>
  <plugin>
   <groupid>org.mybatis.generator</groupid>
   <artifactid>mybatis-generator-maven-plugin</artifactid>
   <version>1.3.2</version>
   <configuration>
    <verbose>true</verbose>
    <overwrite>true</overwrite>
   </configuration>
  </plugin>
 </plugins>
</build>

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

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

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

详解在IDEA中使用MyBatis Generator逆向工程生成代码

generatorconfig.xml代码如下:

<?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>
  <!--导入属性配置-->
  <properties resource="generator.properties"></properties>

  <!--指定特定数据库的jdbc驱动jar包的位置-->
  <classpathentry location="${jdbc.driverlocation}"/>

  <context id="default" targetruntime="mybatis3">

    <!-- optional,旨在创建class时,对注释进行控制 -->
    <commentgenerator>
      <property name="suppressdate" value="true"/>
      <property name="suppressallcomments" value="true"/>
    </commentgenerator>

    <!--jdbc的数据库连接 -->
    <jdbcconnection
        driverclass="${jdbc.driverclass}"
        connectionurl="${jdbc.connectionurl}"
        userid="${jdbc.userid}"
        password="${jdbc.password}">
    </jdbcconnection>


    <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
    <javatyperesolver>
      <property name="forcebigdecimals" value="false"/>
    </javatyperesolver>


    <!-- model模型生成器,用来生成含有主键key的类,记录类 以及查询example类
      targetpackage   指定生成的model生成所在的包名
      targetproject   指定在该项目下所在的路径
    -->
    <javamodelgenerator targetpackage="com.slx.zsxt.model"
              targetproject="src/main/java">

      <!-- 是否允许子包,即targetpackage.schemaname.tablename -->
      <property name="enablesubpackages" value="false"/>
      <!-- 是否对model添加 构造函数 -->
      <property name="constructorbased" value="true"/>
      <!-- 是否对类char类型的列的数据进行trim操作 -->
      <property name="trimstrings" value="true"/>
      <!-- 建立的model对象是否 不可改变 即生成的model对象不会有 setter方法,只有构造方法 -->
      <property name="immutable" value="false"/>
    </javamodelgenerator>

    <!--mapper映射文件生成所在的目录 为每一个数据库的表生成对应的sqlmap文件 -->
    <sqlmapgenerator targetpackage="com.slx.zsxt.mapper"
             targetproject="src/main/java">
      <property name="enablesubpackages" value="false"/>
    </sqlmapgenerator>

    <!-- 客户端代码,生成易于使用的针对model对象和xml配置文件 的代码
        type="annotatedmapper",生成java model 和基于注解的mapper对象
        type="mixedmapper",生成基于注解的java model 和相应的mapper对象
        type="xmlmapper",生成sqlmap xml文件和独立的mapper接口
    -->
    <javaclientgenerator targetpackage="com.slx.zsxt.dao"
               targetproject="src/main/java" type="xmlmapper">
      <property name="enablesubpackages" value="true"/>
    </javaclientgenerator>


    <table tablename="reguser" domainobjectname="user"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>

    <table tablename="adminuser" domainobjectname="admin"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
    <table tablename="configinfo" domainobjectname="confinfo"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
    <table tablename="grade" domainobjectname="grade"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
    <table tablename="gradelog" domainobjectname="gradelog"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
    <table tablename="reginfo" domainobjectname="reginfo"
        enablecountbyexample="false" enableupdatebyexample="false"
        enabledeletebyexample="false" enableselectbyexample="false"
        selectbyexamplequeryid="false">
    </table>
  </context>
</generatorconfiguration>

generator.propertites代码如下:

jdbc.driverlocation=e:\\mvn_home\\mysql\\mysql-connector-java\\5.1.20\\mysql-connector-java-5.1.20.jar
jdbc.driverclass=com.mysql.jdbc.driver
jdbc.connectionurl=jdbc:mysql:///zsxt
jdbc.userid=root
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逆向工程生成代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:

下一篇: