Mybatis-generator(代码生成器)简单流程介绍

1:建立工程(maven)

2:创建相应目录(资源目录,测试目录,根目录)

 

3:创建generator配置文件

<?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>
    <!--targetRuntime="MyBatis3"-->
    <context id="mysql" defaultModelType="hierarchical" targetRuntime="MyBatis3Simple">
        <!-- 生成的Java文件的编码 -->
        <property name="javaFileEncoding" value="UTF-8" />
        <!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
        <property name="beginningDelimiter" value="`" />
        <property name="endingDelimiter" value="`" />

        <!-- 注释生成器 -->
        <commentGenerator>
            <property name="suppressDate" value="true" />
            <property name="suppressAllComments" value="true" />
        </commentGenerator>

        <!-- 必须要有的,使用这个配置链接数据库 @TODO:是否可以扩展 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mybatis"
                        userId="root"
                        password="123456">
        </jdbcConnection>

        <!-- 生成domain对象 -->
        <javaModelGenerator targetPackage="org.example" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaModelGenerator>

        <!-- 生成Mapper文件 -->
        <sqlMapGenerator targetPackage="org.Mapper" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 生成Mapper接口 -->
        <javaClientGenerator targetPackage="org.Mapper" type="XMLMAPPER"
                             targetProject="./src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>


        <!-- ============================================================================== -->
        <!--domainObjectName="User"-->
        <table tableName="tb_brand" domainObjectName="Brand" delimitIdentifiers="true"/>
        <table tableName="tb_user" domainObjectName="User" delimitIdentifiers="true"/>
        <!-- ============================================================================= -->
    </context>
</generatorConfiguration>

4:导入pom依赖

<?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>org.example</groupId>
    <artifactId>generator-maven</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <!-- mybatis-generator -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.7</version>
        </dependency>
        <!--数据库连接依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>
    </dependencies>

</project>

5:创建generator类来执行生成代码

import java.io.File;
import java.io.InputStream;
import java.lang.reflect.Field;
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 Generator {
    public static void main(String[] args) throws Exception {
        //MBG执行过程中的警告信息
        List<String> warnings = new ArrayList<>();
        //生成代码重复时,是否覆盖源代码
        boolean override = true;
        File file = new File("generator-config.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(file);

        DefaultShellCallback callback = new DefaultShellCallback(override);
        //创建MBG
        MyBatisGenerator mbg = new MyBatisGenerator(config, callback, warnings);
        mbg.generate(null);
        //输出警告信息
        for (String warn : warnings) {
            System.out.println(warn);
        }
    }
}

6:查看效果(对应的配置目录下生成了对应的实体类及映射接口文件)

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: mybatis-plus 是一个基于 MyBatis 的增强工具,在实现 MyBatis 基本功能的同时,提供了很多实用的增强功能,例如:自动代码生成、分页插件、性能分析插件、乐观锁插件等。 mybatis-plus 的代码生成器可以快速生成实体类、mapper 接口、mapper.xml 文件等。使用代码生成器可以减少重复劳动,提高开发效率。使用 mybatis-plus 的代码生成器需要在配置文件中添加相关配置,例如:数据库连接信息、生成文件路径、生成策略等。配置完成后,运行代码生成器即可生成相关文件。 下面是一个使用 mybatis-plus 代码生成器的示例: 1.在 pom.xml 文件中添加依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>最新版本</version> </dependency> ``` 2.在配置文件中添加相关配置: ``` # 数据库连接信息 spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=root # mybatis-plus 代码生成器配置 mybatis-plus.global-config.db-config.logic-delete-value=1 mybatis-plus.global-config.db-config.logic-not-delete-value=0 mybatis-plus.generator.outputDir=src/main/java mybatis-plus.generator.author=作者 mybatis-plus.generator.serviceName=%sService mybatis-plus.generator.mapperName=%sMapper mybatis-plus.generator.xmlName=%sMapper mybatis-plus.generator.tableName=表名 ``` 3.运行代码生成器 ``` public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java"); gc.setAuthor("作者"); gc.setOpen(false); gc.setServiceName("%sService"); gc.setMapperName("%sMapper"); gc.setXmlName("%sMapper"); gc.setBaseResultMap(true); gc.setBaseColumnList(true); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8"); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.example"); pc.setEntity("entity"); pc.setMapper("mapper"); pc.setService("service"); pc.setServiceImpl("service.impl"); pc.setController("controller"); mpg.setPackageInfo(pc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); strategy.setControllerMappingHyphenStyle(true); strategy.setInclude("表名"); strategy.setLogicDeleteFieldName("deleted"); strategy.setVersionFieldName("version"); strategy.setTablePrefix("t_"); mpg.setStrategy(strategy); //mybatis-plus 是一个基于 MyBatis 的增强工具,它能够简化 MyBatis 的使用,提高开发效率,减少开发人员的重复工作。它能够自动生成 MyBatis 的 mapper 以及 XML 文件,支持常用的 CRUD 操作,还提供了许多实用的特性,如分页、逻辑删除、多租户支持等。 使用 mybatis-plus 的代码生成器可以进一步提高开发效率。代码生成器能够根据数据库表自动生成 entity、mapper、service、controller 等基础代码,极大地减少了开发人员的编码工作量。使用 mybatis-plus 代码生成器可以快速生成标准化的代码,提高代码的可读性和可维护性,同时也减少了开发人员的错误率。 要使用 mybatis-plus 代码生成器,首先需要在项目中添加 mybatis-plus 依赖,然后在配置文件中指定数据库连接信息、生成代码的包路径等相关信息。在配置完成后,运行代码生成器即可自动生成基础代码。 ### 回答2: Mybatis-Plus 代码生成器是一种能够帮助开发者快速生成 Mybatis-Plus 代码的工具。该工具是基于 Mybatis-Plus 和 Velocity 模板引擎开发的,使用它可以大大提升开发效率,减少代码重复工作。 Mybatis-Plus 代码生成器支持生成多种类型的代码文件,包括 Entity、Mapper、Service、Controller 等,还能够自动生成基本的 CRUD 方法,避免了开发者手动编写这些方法的繁琐过程。此外,代码生成器还支持自定义模板文件,可以根据需求自定义生成的代码格式。 使用 Mybatis-Plus 代码生成器可以简化开发流程,减少开发人员的劳动量,提高代码的可维护性。此外,还可以统一代码规范和风格,从而提高代码的可读性和可维护性。 总体来说,Mybatis-Plus 代码生成器是一个非常实用的工具,能够提高开发效率,减少代码重复工作,值得开发人员学习和使用。同时,在使用代码生成器的过程中也需要注意不要过度依赖,需要根据实际需求进行选择和使用。 ### 回答3: Mybatis-Plus是一款优秀的ORM框架,它的代码生成器可以大大缩短我们开发的时间成本,提高我们的代码质量和可读性。下面我们来详细介绍一下Mybatis-Plus代码生成器的使用。 Mybatis-Plus代码生成器主要有如下功能: 1. 自动生成实体类 代码生成器可以根据我们的数据库表结构自动生成对应的实体类。我们只需要配置好数据库连接信息以及对应的表名,就可以生成JavaBean,并且可以指定实体名和字段名的命名规则。生成的实体类中包含了对应表中的字段以及 setter和getter方法。 2. 自动生成Mapper类 Mapper类是我们用来操作数据库的接口,代码生成器可以根据我们配置的表结构自动生成Mapper接口,并且让我们能够通过注解的方式进行SQL语句的编写。同时,生成的Mapper类也包含了一些Mybatis-Plus自带的基本方法,如增删改查等。 3. 自动生成XML映射文件 XML映射文件是我们用于将Java和数据库中数据进行映射的文件。代码生成器可以根据我们的表结构自动生成对应的XML文件,并且让我们可以在其中使用自定义的SQL语句,以及Mybatis-Plus自带的一些SQL语句。 使用Mybatis-Plus代码生成器的优点: 1. 减少编写代码的工作量 代码生成器可以根据我们的表结构自动生成大量的Java和XML代码,减少我们的编写代码的工作量,同时让我们不容易犯错。 2. 缩短开发周期 通过使用代码生成器,我们可以快速生成Java代码,并且可以直接运行自己的SQL语句。这使得我们可以更快地上手项目,并且缩短开发周期。 3. 提高代码质量和可读性 代码生成器能够根据我们的表结构生成代码,这使得我们的代码质量更高,并且让代码更易于阅读和维护。同时,代码生成器会自动将代码规范化,这使得我们的代码更加规范和统一。 总结: Mybatis-Plus代码生成器是一个非常实用的工具,能够大大缩短我们的开发时间和工作量,提高我们的代码质量和可读性。同时,它还具有非常多的灵活性和自定义功能,可以满足不同开发人员的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗着,享受着

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值