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

首先建立一个maven项目

1.配置pom.xml

<?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>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>
</project>

 

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

添加MBG配置文件

<?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">


<!-- 生成代码 需要一些步骤
        1  连接数据库 (驱动包 四要素)
   -->
<generatorConfiguration>
    <!-- 配置连接驱动包 -->
    <classPathEntry location="d:\mysql-connector-java-5.1.26.jar"/>

    <!-- 设置生成代码的规则 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>
</generatorConfiguration>

 

其中几个关键节点:

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

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

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

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

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

 

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

 

执行完成后效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值