mybatis的MBG自动生成代码详细讲解

tech2022-09-24  94

首先建立一个maven项目

1.配置pom.xml

<?xml version="1.0" encoding="UTF-8"?>

4.0.0

<groupId>cn.et</groupId> <artifactId>MBG</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> </dependencies> <!-- 配置代码生成插件 --> <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <!--告诉插件,配置文件所在的位置--> <configuration> <configurationFile>src/main/resources/MBG.xml</configurationFile> </configuration> </plugin> </plugins> </build>

2.运行MBG主要依靠一份配置文件,这也是学习MBG的关键。官方详细的配置说明:http://www.mybatis.org/generator/configreference/xmlconfig.html

添加MBG配置文件

<?xml version="1.0" encoding="UTF-8"?> <!-- 设置生成代码的规则 targetRuntime开发环境使用Mybatis的版本 --> <context id="DB2Tables" targetRuntime="MyBatis3"> <!-- 生成分页 --> <plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"></plugin> <!-- 配置连接mysql四要素 --> <jdbcConnection connectionURL="jdbc:mysql://localhost:3306/test" driverClass="com.mysql.jdbc.Driver" userId="root" password="123456"> </jdbcConnection> <!-- java类型处理器 用于处理DB中的类型到Java中的类型,默认使用JavaTypeResolverDefaultImpl; 注意一点,默认会先尝试使用Integer,Long,Short等来对应DECIMAL和 NUMERIC数据类型; --> <javaTypeResolver > <!-- true:使用BigDecimal对应DECIMAL和 NUMERIC数据类型 false:默认, scale>0;length>18:使用BigDecimal; scale=0;length[10,18]:使用Long; scale=0;length[5,9]:使用Integer; scale=0;length<5:使用Short; --> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 实体类 bean 带有get和set方法的bean targetProject="src/main/java 生成目标位置(将实体类生成在src/main/java目录下) --> <javaModelGenerator targetPackage="cn.et.entity" targetProject="src/main/java"> <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false --> <property name="enableSubPackages" value="true" /> <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- sql语句相关的xml或者注解的生成包路径 targetPackage="cn.et.resource" 将注解生成在cn.et.resource包下 --> <sqlMapGenerator targetPackage="cn.et.resource" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 生成的接口所在位置 type="XMLMAPPER" 生成xml接口映射 type="ANNOTATEDMAPPER" 生成注解 --> <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="cn.et.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 告诉mbg 需要生成代码的表 schema="DB2ADMIN" 是oracle里的 tableName="ALLTYPES" 表名 --> <table tableName="student" ></table> <!--<table tableName="grade" ></table>--> </context>

其中几个关键节点:

1.jdbcConnection:每个context必须有一个jdbcConnection节点,用来指定数据库连接所需的数据库连接属性。

javaModelGenerator:用于定义生成 model类的设置。

3.sqlMapGenerator: 用于定义SQL映射生成器的属性

javaClientGenerator: 用于定义 Java 客户端代码生成器的属性。 Java客户端生成器生成Java接口和类,它可以简单地使用生成的Java模型和XML映射文件。

5.table: 用来从数据库中选择一个表。

3.运行,我用的IDE,可以在Maven 面板双击mybatis-generator:gennerate,就会自动生成mybatis相关文件。

执行完成后效果如下: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Yang_Hui_Liang/article/details/88579525

最新回复(0)