「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)

转自:https://idig8.com/2018/08/29/xiaochengxujavashizhanspringbootbanmybatisnixiangshengchenggongju32/

我们的整个项目的构建和分层已经完毕了,现在需要通过一个工具将我们整个数据库,反向升成pojo和mybatis类。源码:https://github.com/limingios/wxProgram.git 中的wx-springboot

代码生成器

逆向生成mysql对应的pojo和mybatis通过单独的一个工程不影响现有的业务逻辑。

 

  • mybatis-generatorConfig工程

「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第1张图片

「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第2张图片

「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第3张图片

通过源码里面的sql生成对应的表结构和表数据。

「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第4张图片

mybatis-generatorConfig的pom文件


  4.0.0


   com.idig8
    0.0.1-SNAPSHOT

  mybatis-generatorConfig

    
        UTF-8
    

    

        
        
            org.springframework.boot
            spring-boot-starter-log4j
            1.3.8.RELEASE
        

        
        
            com.alibaba
            druid
            1.1.0
        
        
            com.alibaba
            druid-spring-boot-starter
            1.1.0
        

        
            mysql
            mysql-connector-java
            5.1.41
        

        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.1
        
        
        
            tk.mybatis
            mapper-spring-boot-starter
            1.2.4
        
        
        
            com.github.pagehelper
            pagehelper-spring-boot-starter
            1.2.3
        

        
        
            org.mybatis.generator
            mybatis-generator-core
            1.3.2
            compile
            true
        
    

添加generatorConfig.xml文件





    
        
        

        
            
        

        
        

        
        

        
        

        
        


        

GeneratorDisplay.java类

package com.idig8.mybatis.utils;

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 GeneratorDisplay {

    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 {
            GeneratorDisplay generatorSqlmap = new GeneratorDisplay();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

添加MyMapper.java文件

/*
 * The MIT License (MIT)
 *
 * Copyright (c) 2014-2016 [email protected]
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

package com.idig8.utils;

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

public interface MyMapper extends Mapper, MySqlMapper {
    //TODO
    //FIXME 特别注意,该接口不能被扫描到,否则会出错
}

  • 运行GeneratorDisplay的main方法

「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第5张图片

  1. 复制com.idig8.mapper目录到wx-springboot-mapper项目下
    「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第6张图片
    「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第7张图片

     

  2. 复制com.idig8.pojo 目录到wx-springboot-pojo项目下
    「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第8张图片
    「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第9张图片

  3. 复制com.idig8.utils 目录到wx-springboot-common项目下
    「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第10张图片
    「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第11张图片

  4. 复制resources mapper到wx-springboot-api的resources里面
    「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第12张图片
    「小程序JAVA实战」Springboot版mybatis逆向生成工具(32)_第13张图片

PS:mybatis-generatorConfig 可以看成一个单独的项目,主要的目的就是为了升成对应的mapper.xml和对应的pojo实体类,mapper对应的实体。

转载于:https://www.cnblogs.com/sharpest/p/10293803.html

你可能感兴趣的:(「小程序JAVA实战」Springboot版mybatis逆向生成工具(32))