代码生成器(使用maven插件方式生成.xml文件、实体类、dao接口)

主要分为两大步骤

第一步:pom.xml 引入maven插件

<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>

第二步:在resource下创建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>
  <!-- 1、修改你自己的maven 数据库驱动路径 -->
  <classPathEntry location="E:\tool\apache-maven-3.8.1\repository\mysql\mysql-connector-java\5.1.32\mysql-connector-java-5.1.32.jar"/>

  <context id="my" targetRuntime="MyBatis3">
      <!-- optional,旨在创建class时,对注释进行控制 -->
      <commentGenerator>
          <property name="suppressDate" value="true"/>
          <property name="suppressAllComments" value="true"/>
      </commentGenerator>

      <!--2、配置数据库源 -->
      <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                      connectionURL="jdbc:mysql://127.0.0.1:3306/company_store?useUnicode=true" userId="root"
                      password="root"/>

      <!-- 3、 生成实体类路径 文件名.java-->
      <javaModelGenerator targetPackage="com.evan.store.domain" targetProject="./src/main/java">
          <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
          <property name="enableSubPackages" value="true"/>
          <!-- 是否对model添加 构造函数 -->
          <property name="constructorBased" value="true"/>
          <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
          <property name="trimStrings" value="true"/>
      </javaModelGenerator>

      <!-- 4、 生成的xml路径 -->
      <sqlMapGenerator targetPackage="mappers"
                       targetProject="./src/main/resources">
          <property name="enableSubPackages" value="true"/>
      </sqlMapGenerator>

      <!-- 5、生成mapper接口文件位置 -->
      <javaClientGenerator targetPackage="com.evan.store.dao"
                           targetProject="./src/main/java" type="XMLMAPPER">
          <property name="enableSubPackages" value="true"/>
      </javaClientGenerator>

      <!-- 6、需要生成的实体类对应的表名,多个实体类复制多份该配置即可 -->
      <table tableName="sys_user" domainObjectName="SysUser"
             enableCountByExample="false" enableUpdateByExample="false"
             enableDeleteByExample="false" enableSelectByExample="false"
             selectByExampleQueryId="false"></table>
  </context>
</generatorConfiguration>

参考资料

官方文档1
参考文档1

上一篇:跟着安娴一起学习Python网络爬虫——requests模块使用《一》


下一篇:Generator、async 解决异步编程