MyBatis Maven插件 逆向工程 两种方法(无Dao层和有Dao层)


依赖包:

    <!-- mybatis逆向工程 -->
    <dependency>
         <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.2</version>
    </dependency>
    <!-- c3p0连接池 -->
    <dependency>
        <groupId>com.mchange</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.2</version>
    </dependency>
    <!-- 连接mysql数据库 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.8</version>
    </dependency>
        
    <!-- mybatis核心包 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.2.6</version>
    </dependency>

 

 

插件:

 

    <plugins>
         <plugin>  
                 <groupId>org.mybatis.generator</groupId>  
                <artifactId>mybatis-generator-maven-plugin</artifactId>  
                    <version>1.3.2</version>  
                    <dependencies>  
                        <dependency>  
                            <groupId>mysql</groupId>  
                            <artifactId>mysql-connector-java</artifactId>  
                            <version>5.1.8</version>  
                        </dependency>  
                    </dependencies>  
                    <configuration>  
                         <!--配置文件的路径-->  
                         <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>   
                        <overwrite>true</overwrite>  
                    </configuration>  
           </plugin>  
     </plugins>

 

 

无Dao层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>

   <!--targetRuntime="MyBatis3" 目标环境
      MyBatis3:豪华版,复杂多条件查询
      MyBatis3Simple:helloWorld -->
   <context id="tables" targetRuntime="MyBatis3" defaultModelType="flat">
      <commentGenerator>
         <!-- 是否去除自动生成的注释 true:是;false:否 -->
         <property name="suppressAllComments" value="true" />
      </commentGenerator>

      <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
      <jdbcConnection driverClass="com.mysql.jdbc.Driver"
         connectionURL="jdbc:mysql://localhost:3306/ssma" userId="root"
         password="123456">
      </jdbcConnection>

      <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 
         和 NUMERIC 类型解析为java.math.BigDecimal -->
      <javaTypeResolver>
         <property name="forceBigDecimals" value="false" />
      </javaTypeResolver>

      <!-- targetProject:生成Entity类的路径 -->
      <javaModelGenerator targetProject=".\src\main\java"
         targetPackage="com.zz.entity">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
         <!-- 从数据库返回的值被清理前后的空格 -->
         <property name="trimStrings" value="true" />
      </javaModelGenerator>

      <!-- targetProject:XxxMapper.xml映射文件生成的路径 -->
      <sqlMapGenerator targetProject=".\src\main\java"
         targetPackage="com.zz.mapper">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
      </sqlMapGenerator>

      <!-- targetPackage:Mapper接口生成的位置 -->
      <javaClientGenerator type="XMLMAPPER"
         targetProject=".\src\main\java" targetPackage="com.zz.mapper">
         <!-- enableSubPackages:是否让schema作为包的后缀 -->
         <property name="enableSubPackages" value="false" />
      </javaClientGenerator>

      <!-- 数据库表名字和我们的entity类对应的映射指定 -->
      <table tableName="user" domainObjectName="User" />

   </context>
</generatorConfiguration>

 

 

有Dao层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>
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--mysql数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/ssmtest" userId="root"
                        password="123456">
        </jdbcConnection>

        <!--oracle配置-->
        <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"
            userId="yycg"
            password="yycg">
        </jdbcConnection> -->

        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,
        为 true时把JDBC DECIMAL和NUMERIC类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- targetProject:生成model类的位置,重要!! -->
        <javaModelGenerator targetPackage="com.zz.entity" targetProject=".\src\main\java">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- targetProject:mapper映射xml文件生成的位置,重要!! -->
        <sqlMapGenerator targetPackage="com.zz.mapper"
                         targetProject=".\src\main\java">
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- targetPackage:mapper接口生成的位置,重要!! -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.zz.dao"
                             targetProject=".\src\main\java">
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>

        <!-- 指定数据库表,要生成哪些表,就写哪些表,要和数据库中对应,不能写错! -->
        <table tableName="user"></table>

    </context>
</generatorConfiguration>

 

最后一步:

Run As -- Maven Build -- mybatis-generator:generate

(期间如果失败,可以Maven Clean,Maven Update,Maven Install 来回试)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM