Mybatis 自动生成 Dao 、实体类、mapper
1、目录结构及数据库表

2、在 pom.xml 文件添加依赖
<!-- 添加在 <plugins> 标签中--><!--添加mybatis generator maven插件--><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><configuration><!--generatorConfig.xml位置--><configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile><verbose>true</verbose><overwrite>true</overwrite></configuration><executions><execution><id>Generate MyBatis Artifacts</id><goals><goal>generate</goal></goals><phase>generate-sources</phase></execution></executions><!--此处必须添加mysql驱动包--><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope><version>8.0.21</version></dependency></dependencies></plugin>
3、在 resource 目录下创建 mybatis-generator 文件夹,并在该目录下创建generatorConfig.xml 和 mybatisGeneratorinit.properties 文件
- generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><!-- 配置生成器 --><generatorConfiguration><!--执行generator插件生成文件的命令: call mvn mybatis-generator:generate -e --><!-- 引入配置文件 --><properties resource="mybatis-generator/mybatisGeneratorinit.properties"/><!--classPathEntry:数据库的JDBC驱动,换成你自己的驱动位置 可选 --><!--<classPathEntry location="E:\mybatis\mysql-connector-java-5.1.24-bin.jar" /> --><!-- 一个数据库一个context --><!--defaultModelType="flat" 大数据字段,不分表 --><context id="MysqlTables" targetRuntime="MyBatis3Simple" defaultModelType="flat"><!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 --><property name="autoDelimitKeywords" value="true" /><!-- 生成的Java文件的编码 --><property name="javaFileEncoding" value="utf-8" /><!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; --><property name="beginningDelimiter" value="`" /><property name="endingDelimiter" value="`" /><!-- 格式化java代码 --><property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/><!-- 格式化XML代码 --><property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/><plugin type="org.mybatis.generator.plugins.SerializablePlugin" /><plugin type="org.mybatis.generator.plugins.ToStringPlugin" /><!-- 注释 --><commentGenerator ><property name="suppressAllComments" value="false"/><!-- 是否取消注释 --><property name="suppressDate" value="true" /> <!-- 是否生成注释代时间戳--></commentGenerator><!-- jdbc连接 --><jdbcConnection driverClass="${jdbc_driver}" connectionURL="${jdbc_url}" userId="${jdbc_user}" password="${jdbc_password}" /><!-- 类型转换 --><javaTypeResolver><!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) --><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- 生成实体类地址 --><javaModelGenerator targetPackage="com.example.mybatisauto.models" targetProject="${models}" ><property name="enableSubPackages" value="false"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 生成mapxml文件 --><sqlMapGenerator targetPackage="mapper" targetProject="${resources}" ><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- 生成mapxml对应client,也就是接口dao --><javaClientGenerator targetPackage="com.example.mybatisauto.dao" targetProject="${dao}" type="XMLMAPPER" ><property name="enableSubPackages" value="true" /></javaClientGenerator><!-- table可以有多个,每个数据库中的表都可以写一个table,tableName表示要匹配的数据库表,也可以在tableName属性中通过使用%通配符来匹配所有数据库表,只有匹配的表才会自动生成文件 --><!-- tableName="表名" catalog="数据库名" enable....="是否生成指定的方法等"--><table catalog="map3d" tableName="user"enableCountByExample="true"enableUpdateByExample="true"enableDeleteByExample="true"enableSelectByExample="true"selectByExampleQueryId="true"><property name="useActualColumnNames" value="false" /><!-- 数据库表主键 --><generatedKey column="id" sqlStatement="Mysql" identity="true" /></table></context></generatorConfiguration>
- mybatisGeneratorinit.properties
jdbc_driver=com.mysql.cj.jdbc.Driverjdbc_url=jdbc:mysql://localhost:3306/map3d?useUnicode=true&characterEncoding=utf8&serverTimezone=UTCjdbc_user=rootjdbc_password=123456models=D:/code/idea_code/mybatisauto/src/main/javaresources=D:/code/idea_code/mybatisauto/src/main/resourcesdao=D:/code/idea_code/mybatisauto/src/main/java
4、代码自动生成

