使用逆向工程优点:
无需自己手动去创建 实体类、接口类和xml文件、加快了开发效率。
使用逆向工程缺点:
会生成冗余代码,需要自己后期删减。
1、maven项目在mybatis 的基础上引入mybatis-generator插件:
- <!--引入mybatis-gennerator插件-->
- <plugin>
- <groupId>org.mybatis.generator</groupId>
- <artifactId>mybatis-generator-maven-plugin</artifactId>
- <version>1.3.2</version>
- <configuration>
- <verbose>true</verbose>
- <overwrite>true</overwrite>
- <!--读取逆向工程的配置文件,按照配置文件在指定目录生成从java\xml-->
- <configurationFile>src/main/resources/genneratorConfig.xml</configurationFile>
- </configuration>
- </plugin>
|
- <!--idea里的xml文件,只支持在resource中读取,此处配置后,可以在其它地方读取-->
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- </resources>
|
2、在resource项目中新建mybatisConfig.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="generator.properties"></properties>
- <classPathEntry location="${jdbc.driverLocation}"/>
- <context id="testTables" targetRuntime="MyBatis3">
- <commentGenerator>
- <!--是否去除自动生成的注释 true是:false 否-->
- <property name="suppressAllComments" value="true"/>
- </commentGenerator>
- <!--数据库连接-->
- <jdbcConnection driverClass="${jdbc.driverClass}"
- connectionURL="${jdbc.connectionURL}"
- userId="${jdbc.userId}"
- password="${jdbc.pwd}">
- </jdbcConnection>
- <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL和NUMERIC类型解析为java.math.BigDecimal -->
- <javaTypeResolver>
- <property name="forceBigDecimals" value="false"/>
- </javaTypeResolver>
- <!--targetPackage目标包,生成实体类的位置-->
- <javaModelGenerator targetPackage="top.mybatis.entity" targetProject="src/main/java">
- <!--enableSubPackages,是否让schema作为包的后缀-->
- <property name="enableSubPackages" value="false"/>
- <!--从数据库返回的值被清除前后空格-->
- <property name="trimStrings" value="true"/>
- </javaModelGenerator>
- <!--targetProject:mapper映射文件生成的位置-->
- <sqlMapGenerator targetPackage="top.mybatis.mapper" targetProject="src/main/java">
- <property name="enableSubPackages" value="false"></property>
- </sqlMapGenerator>
- <!--targetPackage:mapper接口生成的位置-->
- <javaClientGenerator type="XMLMAPPER" targetPackage="top.mybatis.mapper" targetProject="src/main/java">
- <property name="enableSubPackages" value="false"/>
- </javaClientGenerator>
- <!--指定数据库表,要和数据库中进行对应,否则将会出错-->
- <table tableName="user" domainObjectName="User"
- enableCountByExample="false" enableUpdateByExample="false"
- enableDeleteByExample="false" enableSelectByExample="false"
- selectByExampleQueryId="false">
- </table>
- <table tableName="student" domainObjectName="Student"
- enableCountByExample="false" enableUpdateByExample="false"
- enableDeleteByExample="false" enableSelectByExample="false"
- selectByExampleQueryId="false">
- </table>
- </context>
- </generatorConfiguration>
|
3、在idea中创建mybatis-generator启动方式
Mybatis-generator:generate -e
4、运行generator
①idea配置运行
②maven插件运行