项目框架版本
- springboot:2.1.2
- mybatis:3.4.6
mybatis-generator-core:1.3.5项目插件:
mybatis-generator-maven-plugin:1.3.5
注意事项一定要配置文件拦截
尤其是*.properties文件的拦截
关键代码如下:
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>*.xml</include> <include>**/*.xml</include> <include>**/*.properties</include> <include>**/*.ini</include> </includes> <filtering>false</filtering> </resource> </resources>
重点是后边的resource中的内容,进行全面拦截
实践项目的目录如下所示:
pom文件如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.8</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.gao</groupId> <artifactId>demo</artifactId> <version>1.0</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <configuration> <!-- 在控制台打印执行日志 --> <verbose>true</verbose> <!-- 重复生成时会覆盖之前的文件--> <overwrite>true</overwrite> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> </configuration> <!-- 数据库连接选择8.0以上的,因为用的mysql8.0--> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> </dependencies> </plugin> </plugins> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>*.xml</include> <include>**/*.xml</include> <include>**/*.properties</include> <include>**/*.ini</include> </includes> <filtering>false</filtering> </resource> </resources> </build> </project>
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> <properties resource="application.properties"/> <context id="DB2Tables" targetRuntime="MyBatis3"> <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/> <!-- 注释 --> <commentGenerator> <property name="suppressAllComments" value="true"/><!-- 是否取消注释 --> <property name="suppressDate" value="true"/> <!-- 是否生成注释带时间戳--> </commentGenerator> <jdbcConnection driverClass="${spring.datasource.driver-class-name}" connectionURL="${spring.datasource.url}" userId="${spring.datasource.username}" password="${spring.datasource.password}"/> <javaTypeResolver> <property name="forceBigDecimals" value="true"/> </javaTypeResolver> <javaModelGenerator targetPackage="com.main.fintech.entity" targetProject="D:\git\demo123\src\main\java"> <property name="enableSubPackages" value="false"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!--对应生成xml接口文件 --> <sqlMapGenerator targetPackage="com.main.fintech.dao.xml" targetProject="D:\git\demo123\src\main\java"> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!--对应生成dao映射文件 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.main.fintech.dao" targetProject="D:\git\demo123\src\main\java"> <property name="enableSubPackages" value="false"/> </javaClientGenerator> <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--> <!-- <table tableName="9r1_bsp_server_certificate_info"--> <!-- domainObjectName="ServerCertificateInfo"--> <!-- enableCountByExample="true"--> <!-- enableUpdateByExample="true"--> <!-- enableDeleteByExample="true"--> <!-- enableSelectByExample="true"--> <!-- selectByExampleQueryId="true">--> <!-- </table>--> <table tableName="9r1_bsp_cert_info" domainObjectName="CertInfo" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"> </table> <!-- <table tableName="9r1_bsp_seal_file"--> <!-- domainObjectName="SealFileInfo"--> <!-- enableCountByExample="true"--> <!-- enableUpdateByExample="true"--> <!-- enableDeleteByExample="true"--> <!-- enableSelectByExample="true"--> <!-- selectByExampleQueryId="true">--> <!-- </table>--> </context> </generatorConfiguration>
最后要注意的是:application.properties文件中一定要写可以使用的数据库驱动配置
同时要注意的是:相应文件的相应位置一定要注意!切记!