zoukankan      html  css  js  c++  java
  • 在IDEA中使用MyBatis Generator逆向工程生成代码

    转载: https://blog.csdn.net/for_my_life/article/details/51228098

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

    一、配置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的项目配置文件存放路径如下图:

    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:\mysql\mysql-connector-java\5.1.20\mysql-connector-java-5.1.20.jar   数据库jar包的位置,注意双斜杠
    2 jdbc.driverClass=com.mysql.jdbc.Driver   数据库驱动
    3 jdbc.connectionURL=jdbc:mysql:///zsxt   数据库ip地址
    4 jdbc.userId=root        用户名
    5 jdbc.password=root    密码
     

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

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

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

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

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

    逆向工程生成结果如下:

    完!

  • 相关阅读:
    设计模式Day02
    OA,ERP等源码一部分演示
    第三方登录
    其实没那么复杂!探究react-native通信机制
    学习面试题(day01)
    学习面试题Day02
    学习面试题Day03
    python 字典排序
    Mac系统下adb工具的配置
    Mac adb 安装
  • 原文地址:https://www.cnblogs.com/seven1314pp/p/8674852.html
Copyright © 2011-2022 走看看