Mybatis的逆向工程
- 使用mybatis的逆向工程(别人开发的工具),可以根据数据库表动态生成对应的pojo类,mapper接口以及mapper.xml文件。
- 使用逆向工程组件需要进行的配置
- 生成pojo类的类名,包名以及生成位置
- 生成mapper接口的接口名,包名以及生成位置
- mapper.xml文件的文件名及生成位置
- 指定哪些表参与逆向工程
- ….
第一步:在pom文件中引入配置信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| <?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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.deng</groupId> <artifactId>mybatis-010</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging>
<properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> </properties>
<build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.1</version>
<configuration> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.30</version> </dependency> </dependencies> </plugin> </plugins> </build>
</project>
|
第二步:在根路径下编写generatorConfig.xml文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| <?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="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/>
<commentGenerator> <property name="suppressDate" value="true"/> <property name="suppressAllComments" value="true"/> </commentGenerator> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/db01" userId="root" password="dch"> </jdbcConnection>
<javaModelGenerator targetPackage="com.deng.mybatis.pojo" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator>
<sqlMapGenerator targetPackage="com.deng.mybatis.mapper" targetProject="src/main/resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator>
<javaClientGenerator targetPackage="com.deng.mybatis.mapper" targetProject="src/main/java" type="XMLMAPPER"> <property name="enableSubPackages" value="true"/> </javaClientGenerator>
<table tableName="t_car" domainObjectName="Car"/>
</context> </generatorConfiguration>
|
注意:在增强版中,会生成一个XxxExample类,这个类是用来封装条件的。也就是说,当我们想有条件的查询时,需要通过调用这个类的相关方法来完成。这是一种QBC查询风格,是面向对象的而不是面向sql语句的查询方式。