Maven 导入 Generator 插件
properties
标签下配置版本信息
<mybatis-generator-maven-plugin.version>1.3.7</mybatis-generator-maven-plugin.version> <mybatis-generator-core.version>1.3.7</mybatis-generator-core.version>
build
标签下配置导入 Generator,不可在 dependencies
标签下配置
<build> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- MyBatis 逆向工程,自动生成entity、mapper文件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>${mybatis-generator-maven-plugin.version}</version> <configuration> <configurationFile>${project.basedir}/src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>${mybatis-generator-core.version}</version> </dependency> </dependencies> </plugin> </plugins> </build>
配置 Generator 文件
在 resources 目录新建 generatorConfig.properties
和 generatorConfig.xml
两个文件
整体目录结构如下
generatorConfig.properties
#数据库驱动jar,必须配对路径 drive.class.path = F:/Test/mysql-connector-java-5.1.47.jar # 数据库连接参数 jdbc.driver = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://127.0.0.1:3306/anima?characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&useSSL=false jdbc.username = root jdbc.password= 3333
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="generatorConfig.properties" /> <!--mysql 连接数据库jar 这里选择自己本地位置--> <classPathEntry location = "${drive.class.path}" /> <context id="mybatisGenerator" targetRuntime="MyBatis3"> <commentGenerator> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> </jdbcConnection> <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!--配置生成的实体包 targetPackage:生成的实体包位置,默认存放在src目录下 targetProject:目标工程名 --> <!-- targetProject:生成PO类的位置 --> <javaModelGenerator targetPackage="com.sakura.anima.entity" targetProject=".\src\main\java"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 实体包对应映射文件位置及名称,默认存放在src目录下 --> <sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage:mapper接口生成的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.sakura.anima.mapper" targetProject=".\src\main\java"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 指定数据库表 --> <table tableName="anima_info" domainObjectName="animaInfo" enableDeleteByExample="false" enableSelectByExample="false" enableCountByExample="false" enableUpdateByExample="false" enableUpdateByPrimaryKey="false"> <!--<generatedKey column="sid" sqlStatement="${table.primaryKey}"/>--> <!-- 需要忽略的列true 大小写完全匹配,false 忽略大小写匹配 --> <!--<ignoreColumn column="PLAN_ID" delimitedColumnName="true" />--> </table> <!--<!–有些表的字段需要指定java类型–>--> <!--<table schema="" tableName="userName">--> <!--<columnOverride column="userName" javaType="String" />--> <!--</table>--> <!--<table schema="" tableName="userName">--> <!--<columnOverride column="cardId" javaType="Long" />--> <!--</table>--> </context> </generatorConfiguration>
自动生成
双击运行该 Maven 插件即可
小建议
在建表时,表名、字段名称建议用"_"分隔多个单词,比如:ab_cd、cd_e ...,这样生成的 entity,属性名称就会变成漂亮的驼峰命名,即:abCd、cdE
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于