MBG工具的使用
开发步骤
- 创建maven工程
- 引入数据库依赖,mybatis依赖,mybatis-generator-core依赖
- 编写mbg.xml配置文件
- 编写测试运行代码
- 生成相关的bean,dao,mapper文件
相关依赖
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
</dependencies>
mbg.xml配置文件
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--
MyBatis3:豪华版
MyBatis3Simple:简单亲民版本
-->
<context id="MySQL" targetRuntime="MyBatis3Simple">
<!-- 取消注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- 配置数据库连接信息 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test?serverTimezone=UTC"
userId="root"
password="root">
</jdbcConnection>
<!--
处理java类和sql类之间的转换
是否强制将数据库中的浮点类型转换为java类型中的BigDecimal类型
-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--
设置生成Entity Class存放的位置
targetPackage:设置生成的实体类存放在哪个包下边,包会自动创建
targetProject:设置生成的实体类存放在哪个项目中
enableSubPackages:是否将数据库名作为包的一部分
trimStrings:是否将数据库字段值,去掉两端的空格,再将属性封装到实体类中
-->
<!-- 指定javabean生成的位置 -->
<javaModelGenerator targetPackage="com.ideal.ssm.bean.bean"
targetProject=".\src\main\java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 指定sql映射文件生成的位置 -->
<sqlMapGenerator targetPackage="mybatis" targetProject=".\src\main\resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 指定dao接口生成的位置,mapper接口
XMLMAPPER:采用xml文件方式进行直接配置
ANNOTATEDMAPPER:采用注解方式进行映射配置
-->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.ideal.ssm.manager.dao"
targetProject=".\src\main\java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 指定每个表的生成策略
tableName:数据库表的名字
domainObjectName:对应实体类的名称
-->
<table tableName="t_role_permission" domainObjectName="RolePermission"></table>
<table tableName="t_tag" domainObjectName="Tag"></table>
<table tableName="t_type" domainObjectName="Type"></table>
<table tableName="t_user" domainObjectName="User"></table>
<table tableName="t_user_role" domainObjectName="UserRole"></table>
</context>
</generatorConfiguration>
编写测试运行代码
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;
public class MBGTest {
public static void main(String[] args) throws Exception{
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("mbg.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
}
此时就可以在文件夹中查看生成的bean对象,dao层接口,mapper.xml实现等文件,直接复制即可使用