mybatis-plus代码生成器(附完整代码)

简介

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 代码生成器是其核心功能之一,可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等代码,极大地提高了开发效率。

环境准备

在开始使用 MyBatis-Plus 代码生成器之前,确保你已经具备以下环境:

  1. JDK 1.8 或更高版本
  2. Maven 或 Gradle 构建工具
  3. 一个数据库实例(如 MySQL、PostgreSQL 等,教程使用Mysql)
  4. 一个 IDE(如 IntelliJ IDEA、Eclipse 等,教程使用IDEA)

添加依赖

为保证不出现意外的bug,建议使用跟教程相同版本的依赖

<dependencies>
	<!-- springboot启动-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- Mybatis-plus -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.2</version>
    </dependency>
    <!-- Mybatis-plus代码生成器 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.5.1</version>
    </dependency>
    <!--velocity引擎-->
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>2.3</version>
    </dependency>
    <!-- mysql驱动-->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <scope>runtime</scope>
    </dependency>
</dependencies>

配置数据库连接

在 application.properties 或 application.yml 文件中配置数据库连接信息:

# application.yml
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://ip地址:端口号/数据库名?&useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    username: username
    password: password
# mybatis-plus配置
mybatis-plus:
  mapper-locations: classpath:/mapper/*.xml		# mapper路径
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl	# 控制台日志输出

代码生成器配置

public class Generate {
	// 启动方法,调用代码生成方法,传入数据库名,表名用于生成代码
    public static void main(String[] args) {
        Generation("database", "table");
    }

    public static void Generation(String databaseName, String... tableName) {
        FastAutoGenerator.create("jdbc:mysql://ip地址:端口号/" +
                                databaseName + "?&useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai",
                        "root", "wyh112212!")
                .globalConfig(builder -> {
                    builder.author("SparksFly")	// 作者名
                            //启用swagger
                            .enableSwagger()
                            //指定输出目录
                            .outputDir(System.getProperty("user.dir") + "/src/main/java");
                })
                .packageConfig(builder -> {
                    builder.entity("entity")//实体类包名
                            .parent("com.wyh")//父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名
                            .controller("controller")//控制层包名
                            .mapper("mapper")//mapper层包名
                            //.other("dto")//生成dto目录 可不用
                            .service("service")//service层包名
                            .serviceImpl("service.impl")//service实现类包名
                            //自定义mapper.xml文件输出目录
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/src/main/resources/mapper"));
                })
                .strategyConfig(builder -> {
                    //设置要生成的表名
                    builder.addInclude(tableName)
                            .addTablePrefix("t_")//设置表前缀过滤
                            .entityBuilder()
                            .enableLombok()
                            .enableChainModel()
                            .naming(NamingStrategy.underline_to_camel)//数据表映射实体命名策略:默认下划线转驼峰underline_to_camel
                            .columnNaming(NamingStrategy.underline_to_camel)//表字段映射实体属性命名规则:默认null,不指定按照naming执行
                            .idType(IdType.ASSIGN_ID)//添加全局主键类型
                            .formatFileName("%s")//格式化实体名称,%s取消首字母I,
                            .mapperBuilder()
                            .enableMapperAnnotation()//开启mapper注解
                            .enableBaseResultMap()//启用xml文件中的BaseResultMap 生成
                            .enableBaseColumnList()//启用xml文件中的BaseColumnList
                            .formatMapperFileName("%sMapper")//格式化Dao类名称
                            .formatXmlFileName("%sMapper")//格式化xml文件名称
                            .serviceBuilder()
                            .formatServiceFileName("%sService")//格式化 service 接口文件名称
                            .formatServiceImplFileName("%sServiceImpl")//格式化 service 接口文件名称
                            .controllerBuilder()
                            .enableRestStyle();
                })
//                .injectionConfig(consumer -> {
//            Map<String, String> customFile = new HashMap<>();
//            // 配置DTO(需要的话)但是需要有能配置Dto的模板引擎,比如freemarker,但是这里我们用的VelocityEngine,因此不多作介绍
//            customFile.put("DTO.java", "/templates/entityDTO.java.ftl");
//            consumer.customFile(customFile);
//           })
                .execute();
    }
}

结束

至此,mybatis-plus的代码生成器配置已经全部完成,你可以直接运行main方法生成你的代码了,快去试试吧!

结语(废话)

MyBatis-Plus 代码生成器是一个强大的工具,可以帮助开发者快速生成 CRUD 代码,节省大量时间。通过简单的配置,你可以生成符合项目需求的代码,从而专注于业务逻辑的开发。记得在使用过程中,根据实际项目情况进行适当的调整和优化。

如果对你有帮助的话,不妨点个赞,点个关注再走吧!

### 回答1: MyBatis-Plus是一个基于MyBatis的增强工具,在MyBatis的基础上提供了更加便捷的CRUD操作、分页查询以及代码生成等功能。下面是MyBatis-Plus源码下载的步骤和方法: 1. 打开MyBatis-Plus的官方网站:https://baomidou.com/ 2. 在网站的首页上方菜单栏找到“Github”选项,点击进入MyBatis-Plus的Github页面。 3. 在Github页面上,可以看到MyBatis-Plus的所有开源代码。点击页面右上方的“Code”按钮,然后选择“Download ZIP”选项进行下载。 4. 下载完成后,将下载的ZIP文件解压到指定的文件夹中。 此外,如果你更希望直接通过Maven等构建工具来引入MyBatis-Plus,也可以在项目的pom.xml文件中添加MyBatis-Plus的依赖,然后通过构建工具自动下载源码。 总之,获取MyBatis-Plus源码最简便的方法是通过其官方网站或Github页面下载。这样就能够获得最新版本的MyBatis-Plus源码,方便进行二次开发或查看源码实现细节。 ### 回答2: 要下载MyBatis-Plus源码,可以按照以下步骤进行操作。 1. 打开MyBatis-Plus的GitHub仓库页面。在浏览器中输入"https://github.com/baomidou/mybatis-plus",进入仓库页面。 2. 在仓库页面上,可以看到一个绿色的按钮,上面标有"Code"。点击这个按钮,会出现一个下拉菜单。 3. 在下拉菜单中,选择"Download ZIP"。点击后会自动下载一个ZIP压缩文件到本地电脑。 4. 解压下载的ZIP压缩文件,可以得到MyBatis-Plus的源代码。 此外,也可以通过其他方式获取MyBatis-Plus的源码,比如使用Git命令克隆仓库。你可以在命令行中执行以下命令:git clone https://github.com/baomidou/mybatis-plus.git。这样可以将整个仓库克隆到你的本地电脑上。 下载MyBatis-Plus源码后,你就可以在本地进行修改和扩展。可以使用Java开发工具(如IntelliJ IDEA、Eclipse等)导入源码工程,然后进行编译和运行,进行源码的阅读和修改,以满足你的需求。 希望上述回答对你有所帮助。如有其他问题,请随时提问。 ### 回答3: Mybatis-Plus是一个优秀的Mybatis增强工具,可以在数据库操作中提供更多的便利和增强的功能。如果想要下载Mybatis-Plus的源码,可以按照以下步骤进行操作: 第一步,打开Mybatis-Plus的官方Github仓库,找到源码的下载链接。可以通过搜索引擎输入"mybatis-plus github"来找到官方仓库。 第二步,进入官方仓库后,可以点击 "Clone or download" 按钮,然后选择 "Download ZIP" 选项进行下载。这样就可以将整个Mybatis-Plus源码以zip压缩方式下载到本地。 第三步,下载完成后,可以将zip文件解压到本地的任意目录。 第四步,进入解压后的文件夹,可以看到Mybatis-Plus的源码文件和项目结构。 至此,你已经成功下载了Mybatis-Plus的源码。可以在本地对源码进行查看、学习和调试。 值得注意的是,Mybatis-Plus的源码是基于Java语言编写的,所以需要确保本地环境已经安装了Java开发工具。另外,Mybatis-Plus的源码是一个完整的项目,包含了各种功能模块和依赖库,所以无需额外的配置即可进行使用。 通过下载Mybatis-Plus的源码,可以深入了解其内部实现原理、自定义扩展功能,同时也能更好地理解和使用Mybatis-Plus提供的各种便利和增强功能,对于深入学习和使用Mybatis-Plus都非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序猿吴花果

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

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

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

打赏作者

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

抵扣说明:

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

余额充值