使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)

逆向工程简介:

mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂的业务逻辑上。

(注意:Mybatis逆向工程生成的Mapper所进行的操作都是针对单表的)

 

下载逆向工程:

链接:https://github.com/mybatis/generator/releases
使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)_第1张图片
 
 

逆向工程的使用

运行逆向工程(摘自官网):

使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)_第2张图片

 

工程结构:

使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)_第3张图片

 

poem.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.0modelVersion>

    <groupId>com.itheimagroupId>
    <artifactId>Day47_mybatis_generatorartifactId>
    <version>1.0-SNAPSHOTversion>

    <dependencies>
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>3.4.5version>
        dependency>
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.6version>
        dependency>
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.12version>
        dependency>
        <dependency>
            <groupId>log4jgroupId>
            <artifactId>log4jartifactId>
            <version>1.2.16version>
        dependency>
        <dependency>
            <groupId>org.mybatis.generatorgroupId>
            <artifactId>mybatis-generator-coreartifactId>
            <version>1.3.2version>
        dependency>
    dependencies>
    
project>

 

generatorConfig.xml

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

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

        

        

        
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        javaTypeResolver>
        
        

        
        <javaModelGenerator targetPackage="com.itheima.domain"
            targetProject=".\src\main\java">
            
            <property name="enableSubPackages" value="false" />
            
            <property name="trimStrings" value="true" />
        javaModelGenerator>
        
        
        
        <sqlMapGenerator targetPackage="com.itheima.mapper"
            targetProject=".\src\main\resources">
            
            <property name="enableSubPackages" value="false" />
        sqlMapGenerator>
        
        
        
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.itheima.mapper"
            targetProject=".\src\main\java">
            
            <property name="enableSubPackages" value="false" />
        javaClientGenerator>
        
        
        
        
        <table schema="" tableName="user">table>
        <table schema="" tableName="user_role">table>
        <table schema="" tableName="role">table>
        <table schema="" tableName="account">table>

        
        
    context>
generatorConfiguration>

注意:配置文件需要修改的内容:

  • 数据库驱动、地址、用户名、密码
  • POJO类、mapper接口、mapper映射文件生成的位置
  • 指定数据表

 

 GeneratorSqlmap

/**
 * @Author: Mr.Elliot
 * @Company: 东风科技
 * @Date 2018-11-27 14:17
 */


import java.io.File;
import java.io.IOException;
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.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

public class GeneratorSqlmap {

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

    }

}

配置完成之后运行GeneratorSqlmap.java中的main方法就会生成对应数据表的代码,生成后记得右键项目名刷新。如果需要再次生成,一定要记得先把原来生成的删除。

 
生成的代码:

使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)_第4张图片

使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)_第5张图片

 

 

 运行GeneratorSqlmap.java中的main方法如果出现java.io.FileNotFoundException: XXX.xml

点执行后如报如下错误:

 

解决方法:如图我们在 该项目下导入的 模块 vm的位置是 我们的项目下面,而不是这个模块下面.我们要手动设置该类的 工作目录为自己所在的目录位置

使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)_第6张图片

 

 

让vm运行位置与其模块所在位置一样

使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门)_第7张图片

 

 点击ok,重新执行就行了.....

 

转载于:https://www.cnblogs.com/Mr-Elliot/p/10027209.html

你可能感兴趣的:(使用IDEA在Maven中创建MyBatis逆向工程以及需要注意的问题(入门))