最详细通用mapper代码生成器配置
通用 Mapper 专用代码生成器生成的 Model 会在原有基础上增加 @Table,@Id,@Column 等注解,方便自动会数据库字段进行映射。运行MBG有多种方法,这里只介绍两种比较常见的方法。并且有关的内容会针对这样的运行方式进行配置。
1、pom文件
配置中的 目录 可以和 可以按需修改
<properties> <!--Mybatis Generator--> <!--Java接口和实体类--> <!--${basedir} maven内置,引用工程根目录--> <!--targetJavaProject:声明源码存放目录位置--> <targetJavaProject>${basedir}/src/main/java</targetJavaProject> <!--targetMapperPackage:声明MBG生成XxxMapper接口后存放package位置--> <targetMapperPackage>club.codehero.mapper</targetMapperPackage> <!--targetModelPackage:声明MBG生成实体类存放package位置--> <targetModelPackage>club.codehero.pojo</targetModelPackage> <!--targetResourcesProject:声明存放资源文件和xml的目录位置--> <targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject> <!--targetXXMLPackage:声明存放具体XxxMapper.xml文件的目录位置--> <targetXMLPackage>mapper</targetXMLPackage> <!--依赖版本--> <mapper.version>4.1.5</mapper.version> <mysql.version>5.1.26</mysql.version> </properties> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>${mapper.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <target>1.8</target> <source>1.8</source> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.6</version> <!--配置generator.xml文件路径--> <configuration> <configurationFile> ${basedir}/src/main/resources/generator/generatorConfig.xml </configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> <!--MBG插件的依赖信息--> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>${mapper.version}</version> </dependency> </dependencies> </plugin> </plugins> </build>
2、generatorConfig.xml
generatorConfig.xml存放目录和文件名称必须和pom.xml中的p 中配置的路径一致。以上面的pom.xml为例,配置的路径为${basedir}/src/main/resources/generator/generatorConfig.xml
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!--引入数据库配置文件--> <properties resource="db.properties"/> <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <!--配置通用Mapper的MBG插件信息--> <plugin type="${mapper.plugin}"> <property name="mappers" value="${mapper.Mapper}"/> <property name="caseSensitive" value="true"/> </plugin> <!--配置数据库连接信息--> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.user}" password="${jdbc.password}"> </jdbcConnection> <!--配置java实体类存放位置--> <javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/> <!--配置XML配置文件(XxxMapper.xml)存放目录位置--> <sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}"/> <!--配置XxxMapper接口存放目录位置--> <javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}" type="XMLMAPPER"/> <!--根据数据库表生成Java文件的相关规则--> <!-- tableName数据库中参与生成的表 tableName="%" "%"表示所有表都参与生成 此时使用默认规则: t_emp -> TEMP 单独指定表时,可以指定命名规则 使用tableName domainObjectName属性指定表和要生成的实体类名称 --> <table tableName="t_emp" domainObjectName="Emp"> <!--配置主键生成策略--> <generatedKey column="emp_id" sqlStatement="MySql" identity="true"/> </table> </context> </generatorConfiguration>
3、db.properties
三中引入了db.peoperties文件,也可以不引入,直接在generatorConfig.xml中固定
# Database connection information jdbc.user=root jdbc.password=root jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 jdbc.driver=com.mysql.jdbc.Driver ​ # mapper mapper.plugin=tk.mybatis.mapper.generator.MapperPlugin mapper.Mapper=tk.mybatis.mapper.common.Mapper
4、启动工程
- 直接在 pom.xml 这一级目录的命令行窗口执行 mvn mybatis-generator:generate;
- 按照图片用idea带的maven插件启动