MyBatis反向生成(IDEA+Maven)

MyBatis反向生成(IDEA+Maven)

一、什么是反向生成工程

反向生成工程,可以针对数据库表自动生成MyBatis执行所需要的代码,比如实体类代码、mapper.xml、mapper接口等,可以提高开发效率。

本文将介绍如何使用IDEA+Maven实施反向生成工程。

二、使用方法

1、创建Maven项目

创建好的项目目录结构如下:

MyBatis反向生成(IDEA+Maven)_第1张图片

2、配置Maven的pop.xml文件

下载反向工程说需要的jar包,pop.xml文件代码如下:

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/maven-v4_0_0.xsd">
  
4.0.0
  
MyBatisGenerator1
   MyBatisGenerator1
   war
   1.0-SNAPSHOT
   MyBatisGenerator1 Maven Webapp
   http://maven.apache.org

  
     UTF-8
     
     
3.4.5
  


  
     
         junit
         junit
         3.8.1
         test
     


     
     

        
org.mybatis
         mybatis
         ${mybatis-version}
     
     
 
    
        
org.mybatis.generator
         mybatis-generator-core
         1.3.5
     
     
     

        
org.mybatis
         mybatis-spring
         1.3.1
     
     
     

        
mysql
         mysql-connector-java
         5.1.30
     


  

  
      MyBatisGenerator1
  

3、反向工程配置文件

这个配置文件就是generatorConfig.xml,里面配置了数据库的连接属性、需要反向生成的数据库表及其属性。操作步骤有:

(1)添加要生成的数据库表

(2)实体类、mapper接口Java类所在的包路径

(3)SQL语句的mapper.xml文件所在路径

代码如下:

xml version="1.0" encoding="UTF-8"?>
generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">


    id="default" targetRuntime="Mybatis3" >

        
        type="generator.MyCommentGenerator">
            
            
        

        
        
                
                
                
                
            
            
            
            
        

        
        driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/testmysql"
                userId="root"
                password="root">
        


        
        
            name="forceBigDecimals" value="false"/>
        


        
        targetPackage="com.charlie.ssm.demo.entity"
                            targetProject="src/main/java">

            
            name="enableSubPackages" value="false"/>
            
            name="constructorBased" value="false"/>
            
            name="trimStrings" value="true"/>
            
            name="immutable" value="false"/>
        

        
        targetPackage="mapper"
                         targetProject="src/main/resources">
            name="enableSubPackages" value="false"/>
        

        
        targetPackage="com.charlie.ssm.demo.entity"
                             targetProject="src/main/java" type="XMLMAPPER" >
            name="enableSubPackages" value="false"/>
        

        
        
               
               
               
        

        tableName="tb_user" domainObjectName="UserEntity" mapperName="UserDao"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        
   

4、运行程序生成代码

运行MainGenerator的main方法,就可运行反向工程,注意反向工程的配置文件路径要正确。

运行代码如下:

/**
 * 运行此方法重新生成mybatis相关的文件,慎用
 * 运行之后会覆盖com.dao 以及com.entity的类,但是对应的mapper/*.xml中的数据库操作
 */
public class MainGenerator {

    /**
     * MyBatis反向生成工程
     * @param args
     */
    public static void main(String[] args) {
        try {
            System.out.println("MyBatis反向生成");
            List warnings = new ArrayList<>();
            boolean overwrite = true;
            //配置文件
            File configFile = new
                    File("./src/main/resources/generator/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);
            System.out.println("执行完毕");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (XMLParserException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (InvalidConfigurationException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

5、运行结果

MyBatis反向生成(IDEA+Maven)_第2张图片

三、下载地址

https://download.csdn.net/download/qq_33721382/10506541

 

 

 

 


你可能感兴趣的:(Java编程开发,Java-Web)