1.在pom.xml里引入插件
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <!-- 添加一个mysql的依赖,防止等会找不到driverClass --> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.driver.version}</version> <scope>runtime</scope> </dependency> </dependencies> <!-- mybatisGenerator 的配置 --> <configuration> <!-- generator 工具配置文件的位置 --> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <!-- 是否覆盖 --> <!-- 此处要特别注意,如果不加这个设置会导致每次运行都会在原目录再次创建--> <overwrite>true</overwrite> </configuration> </plugin>
2.新建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="MySQLTables" targetRuntime="MyBatis3" defaultModelType="flat"> <!-- 公共设置 --> <commentGenerator> <!-- 是否取消自动生成时的注释 --> <property name="suppressAllComments" value="true"/> <!-- 是否取消在注释中加上时间 --> <property name="suppressDate" value="true"/> </commentGenerator> <!-- 链接数据库的配置 MySQL8之前的驱动com.mysql.jdbc.Driver,新的驱动com.mysql.cj.jdbc.Driver,并且要加时区--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://******:3306/***?useUnicode=true&characterEncoding=utf-8&tinyInt1isBit=false&allowMultiQueries=true" userId="root" password="root"/> <!-- 关于生成实体类的设置 --> <!-- targetPackage 生成代码的目标目录 --> <!-- targetProject 目录所属位置 --> <javaModelGenerator targetPackage="com.test.modules.test.entity" targetProject="src/main/java"> <!-- 在targetPackge的基础上根据schema再生成一层package 默认flase --> <property name="enableSubPackages" value="true"/> <!-- 是否在get方法中 对String类型的字段做空的判断 --> <property name="trimStrings" value="true"/> <!-- 是否生成一个包含所有字段的构造器 --> <property name="constructorBased" value="false"/> <!-- 是否创建一个不可变类--> <property name="immutable" value="false"/> </javaModelGenerator> <!--关于生成映射文件的设置--> <sqlMapGenerator targetPackage="mappings.modules.test" targetProject="src/main/resources"> <!--同上--> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!--关于生成dao层的设置--> <javaClientGenerator type="mapper" targetPackage="com.test.modules.test.dao" targetProject="src/main/java"> <!--同上--> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!--需要生成的代码对应的表名 tableName 代表你的数据库表,domainObjectName 映射后的对象名称--> <table tableName="sys_user" schema="" domainObjectName="Test" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration>
3.在maven里运行插件即可。