详解MyBatis逆向工程攻略
MyBatis逆向工程可以快速生成Java实体类、映射文件以及Mapper接口,省去手写代码的繁琐过程。以下是详解MyBatis逆向工程的完整攻略。
步骤一:准备工作
- 项目中需要添加
mybatis-generator-core
依赖。
xml
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.0</version>
</dependency>
-
在项目的根目录下添加
generatorConfig.xml
配置文件。 -
在配置文件中进行数据源配置和代码生成的相关配置。
```xml
<!--代码生成器-->
<javaModelGenerator targetPackage="com.example.domain" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--表定义-->
<table tableName="user"/>
<table tableName="role"/>
</context>
```
步骤二:生成代码
- 在 Maven 项目中运行以下命令生成代码。
bash
mvn mybatis-generator:generate
- 代码生成的结果。在代码生成结束后,会在 Java 源码目录以及资源目录下生成与数据表对应的 Java 实体类、MyBatis 映射文件以及 Mapper 接口。
```
src/main/java/com/example/domain/User.java
src/main/java/com/example/domain/Role.java
src/main/resources/mapper/UserMapper.xml
src/main/resources/mapper/RoleMapper.xml
src/main/java/com/example/mapper/UserMapper.java
src/main/java/com/example/mapper/RoleMapper.java
```
示例一:生成User实体类、对应的MyBatis映射文件和Mapper接口
generatorConfig.xml表定义
<generatorConfiguration>
<!--数据源配置-->
<context id="DB2Tables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="root">
</jdbcConnection>
<!--代码生成器-->
<javaModelGenerator targetPackage="com.example.domain" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--表定义-->
<table tableName="user"/>
</context>
</generatorConfiguration>
运行 mvn mybatis-generator:generate
,生成的代码如下:
src/main/java/com/example/domain/User.java
src/main/resources/mapper/UserMapper.xml
src/main/java/com/example/mapper/UserMapper.java
示例二:生成Role实体类、对应的MyBatis映射文件和Mapper接口
generatorConfig.xml 表定义
<generatorConfiguration>
<!--数据源配置-->
<context id="DB2Tables" targetRuntime="MyBatis3">
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test" userId="root" password="root">
</jdbcConnection>
<!--代码生成器-->
<javaModelGenerator targetPackage="com.example.domain" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!--表定义-->
<table tableName="role"/>
</context>
</generatorConfiguration>
运行 mvn mybatis-generator:generate
,生成的代码如下:
src/main/java/com/example/domain/Role.java
src/main/resources/mapper/RoleMapper.xml
src/main/java/com/example/mapper/RoleMapper.java
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解MyBatis逆向工程 - Python技术站