MyBatis Generator(逆向工程)的配置

什么叫Generator(逆向工程)

正向工程————先写pojo、mapper.java、mapper.xml再写数据库表单;
相反,逆向工程直接根据表单生成上述文件,程序员不用写那么多sql语句,而是在已有xml文件基础上修改即可。

使用Generator的步骤

新建一个包,设置好包目录

MyBatis Generator(逆向工程)的配置_第1张图片
工具包lib必须设置在项目的根目录下,而不是像以前放在WEB-INF中

导包

这里写图片描述

配置generatorConfig.xml

  • 配置写的非常详细,可以逐条看(放进ide里边看清晰一些)



<generatorConfiguration>
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            
            <property name="suppressAllComments" value="true" />
        commentGenerator>
        
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mybatis"
                        userId="root"
                        password="12345">
        jdbcConnection>
        

        
        

        
        <javaModelGenerator targetPackage="com.bamzhy.bean"
                            targetProject=".\src">
            
            <property name="enableSubPackages" value="true" />
            
            <property name="trimStrings" value="true" />
        javaModelGenerator>


        
        <sqlMapGenerator targetPackage="com.bamzhy.xml"
                         targetProject=".\src">
            
            <property name="enableSubPackages" value="true" />
        sqlMapGenerator>

        

        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.bamzhy.dao"
                             targetProject=".\src">
            
            <property name="enableSubPackages" value="true" />
        javaClientGenerator>
        

            

            <table tableName="%"
                   enableCountByExample="false"
                   enableUpdateByExample="false"
                   enableDeleteByExample="false"
                   enableSelectByExample="false"
                   enableInsert="false"
                   enableDeleteByPrimaryKey="true"
                   enableSelectByPrimaryKey="true"
                   selectByExampleQueryId="false" >table>

               
               
                       
                       
                   

        
               
    context>
generatorConfiguration>

(该文件放置在项目根目录下)

写调用Generator的代码:

package com.bamzhy.test;

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;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class GeneratorTest {

    public void generator() throws Exception{
        List warnings = new ArrayList();
        boolean overwrite = true;
        //指向逆向工程配置文件
        File configFile = new File("generatorConfig.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);
    }

    public static void main(String[] args) throws Exception {
        try {
            GeneratorTest generatorSqlmap = new GeneratorTest();
            generatorSqlmap.generator();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

执行代码,查看结果

MyBatis Generator(逆向工程)的配置_第2张图片 没有问题,数据库中有的表都建好了对应的文件

针对Generator生成的Mapper.java 等文件进行测试,看是否有效

MyBatis Generator(逆向工程)的配置_第3张图片

你可能感兴趣的:(Mybatis)