MyBatis-Plus代码自动生成

news2025/1/13 7:56:55

前言

这是一段使用 MyBatis-Plus 自动生成代码的示例代码。MyBatis-Plus 是一个优秀的 ORM 框架,它在 MyBatis 的基础上进行了扩展和增强,提供了更加便捷、高效的数据库操作方式。在实际开发中,我们通常需要编写大量的 CRUD 操作代码,使用 MyBatis-Plus 可以帮助我们快速生成这些代码,提高开发效率。

一、添加依赖

	</dependency>
		<!-- 加一个redis的starter组件-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		<!-- mp-->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.4.2</version>
		</dependency>

<!--		自动生成-->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-generator</artifactId>
			<version>3.5.3</version>
		</dependency>
<!--		对应模板-->
		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity-engine-core</artifactId>
			<version>2.3</version>
		</dependency>

		<dependency>
			<groupId>org.freemarker</groupId>
			<artifactId>freemarker</artifactId>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.33</version>
		</dependency>

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>

二 、application.properties

# Redis 配置
spring.redis.host=192.168.67.34
spring.redis.password=yyl
spring.redis.database=5

# 数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql:///qq?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456789

# Jackson 配置
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.jackson.serialization.write-date-keys-as-timestamps=false

# MyBatis-Plus 配置
mybatis-plus.configuration.map-underscore-to-camel-case=true # 是否开启下划线命名转驼峰命名的映射规则
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl  # 将日志输出到控制台
# mybatis-plus.configuration.log-impl=
mybatis-plus.mapper-locations=classpath:/mapper/*.xml

# MyBatis-Plus 全局配置
mybatis-plus.global-config.db-config.logic-not-delete-value=0
mybatis-plus.global-config.db-config.logic-delete-value=1

三、在测试类创建MyTest

我这里是使用的springboot

package com.aaa;



import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.fill.Column;


import java.util.Arrays;
import java.util.Collections;
import java.util.List;



public class MyTest {
    public static void main(String[] args) {
        // 数据库连接
        FastAutoGenerator.create("jdbc:mysql:///qq","root","123456789")
                // 全局配置
                .globalConfig((scanner, builder) -> builder
                        .author("小宇")

                        .outputDir("F:\\redisSpringboot\\02\\src\\main\\java")
                )
                // 包配置
                .packageConfig(
                        (scanner, builder) ->
                                builder
                                        .parent("com.aaa")  // 存放位置
                                        .pathInfo(Collections.singletonMap(OutputFile.xml, "F:\\redisSpringboot\\02\\src\\main\\resources\\mapper")))
                // 策略配置
                .strategyConfig((scanner, builder) -> builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all")))
                        .controllerBuilder().enableRestStyle().enableHyphenStyle()
                        .entityBuilder().enableLombok().addTableFills(
                                new Column("create_time", FieldFill.INSERT)
                        ).build())
                /*
                    模板引擎配置,默认 Velocity 可选模板引擎 Beetl 或 Freemarker
                   .templateEngine(new BeetlTemplateEngine())
                   .templateEngine(new FreemarkerTemplateEngine())
                 */
                .execute();


// 处理 all 情况

    }

    protected static List<String> getTables(String tables) {
        return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1137217.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV官方教程中文版 —— 2D 直方图

OpenCV官方教程中文版 —— 2D 直方图 前言一、介绍二、OpenCV 中的 2D 直方图三、Numpy 中 2D 直方图四、绘制 2D 直方图 前言 本节我们会学习如何绘制 2D 直方图&#xff0c;我们会在下一节中使用到它。 一、介绍 在前面的部分我们介绍了如何绘制一维直方图&#xff0c;之…

TeamViewer

爱情就像两个拉皮筋的人&#xff0c;受伤的总是不愿放手的那一个&#xff01; TeamViewer – 远程连接软件 点击下载 电脑版就下载电脑 安卓版就下载安卓 苹果版就下苹果

bug:Chrome插件SwitchyOmega安装时程序包无效:“CRX_HEADER_INVALID“问题

bug&#xff1a;Chrome插件SwitchyOmega安装时程序包无效:“CRX_HEADER_INVALID“问题 1 解决 先说解决办法&#xff1a; 将下载的crx重命名为xxx.zip&#xff0c;然后解压打开chrome的开发者模式 点击加载已解压的应用程序&#xff0c;然后选择我们解压后的文件夹即可 安装成…

MyBatisPlus自动填充

文章目录 MyBatisPlus自动填充应用场景在实体类里面规定要填充的字段写处理器测试 MyBatisPlus自动填充 应用场景 我们往数据库里面插入一条记录&#xff0c;或者是更新一条记录的时候&#xff0c;往往需要有插入时间和更新时间&#xff0c;如果每条sql语句里面都这样写&…

Spring使用注解进行注入

目录 前言 一、属性注入 1.1 属性注入的优缺点分析 二、Setter注入 2.1 Setter注入优缺点分析 三、构造方法注入 3.1 构造注入的优缺点 四、Qualifier注解 五、Resource注解 六、Resource注解与Autowired注解的区别 前言 在之前我们就已经了解过了Spring依赖注入的方式&#x…

word页脚设置,页脚显示第几页共有几页设置步骤

word页脚设置&#xff0c;页脚显示第几页共有几页设置步骤&#xff1a; 具体步骤&#xff1a; 步骤1&#xff1a; 步骤1.1选择页脚---空白页脚 步骤1.2&#xff0c;在"[在此处键入]"&#xff0c;直接输入你需要的格式&#xff0c;如 “第页/共页” 步骤1.3选择第“…

基于ssm服装购物系统

功能如图所示 摘要 基于SSM框架的服装购物系统研究在当今数字化时代具有更为广泛的重要意义。首先&#xff0c;电子商务已成为商业领域的重要发展方向&#xff0c;尤其在全球范围内&#xff0c;服装零售商面临着不断增长的在线购物需求。这种研究能够帮助服装零售商迅速适应市场…

Failed to prepare the device for development

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…

班级管理神器

哈喽&#xff0c;亲爱的小红书教育朋友们&#xff01;今天来分享一个重磅好物&#xff1a;班级查询系统&#xff01;是的&#xff0c;你没有听错&#xff0c;让我们的孩子们告别信息混乱&#xff0c;告别手动统计&#xff0c;迎接高效、智能的班级管理新时代&#xff01; 班级查…

appium+selenium自动化测试UI踩坑记录之--判断元素是否存在

判断应用程序元素是否存在&#xff0c;之前使用的代码如下&#xff0c;但是页面跳转后&#xff0c;通过xpath查找信息能查找到跳转前页面的内容&#xff0c;造成信息判断不准确。 # 从selenium.common.exceptions 模块导入 NoSuchElementException类from selenium.common.excep…

mysql主从搭建(gtid)

搭建mysql主从使用三台主机&#xff0c;主机信息如下 ip端口主机名角色10.1.60.803306rabbitmq04salve10.1.60.1143306rabbitmq01slave10.1.60.1153306rabbitmq02master 为每台主机修改主机名并配置hosts hostnamectl set-hostname rabbitmq04 vi /etc/hosts 10.1.60.114 …

【飞控调试】无人机电调哔-哔-哔-哔-哔...发出急促的响声

硬件 飞控&#xff1a;Pixhawk 6C mini 电调&#xff1a;好盈hobbywing Platinum 40A 固件&#xff1a;PX4 V1.13.3 问题 电调上电后&#xff0c;电机发出哔-哔-哔-哔-哔…发出急促的响声&#xff0c;进行电调校准也没用。 解决 在QGC里把SYS_USE_IO参数改成Disabled&…

Hyperledger Fabric搭建测试网络

本文使用的Fabric版本&#xff1a;V2.5.4 Ubuntu系统&#xff1a;16.04LTS 前序文章已经详细介绍了如何安装部署Hyperledger Fabric系统&#xff0c;这里不再赘述。本篇文章主要介绍如何使用Fabric的测试网络。在正式开始之前&#xff0c;有一点需要说明&#xff1a; Hyperled…

IndexError: Target 34 is out of bounds.

问题出现在训练用的标签处&#xff0c;标签超过范围&#xff0c;换了数据集后标签数发生改变&#xff0c;总而言之是目标分类数量超过了你所设置的标签数量的范围&#xff0c;归根结底是全连接参数没有改过来。找到label位置改一下数量

C# 图解教程 第5版 —— 第8章 类和继承

文章目录 8.1 类继承8.2 访问继承的成员&#xff08;*&#xff09;8.3 所有类都派生自 object 类8.4 屏蔽基类的成员8.5 基类访问8.6 使用基类的引用8.6.1 虚方法和覆写方法8.6.2 覆写标记为 override 的方法8.6.3 覆盖其他类型成员&#xff08;*&#xff09; 8.7 构造函数的执…

2011-2021年“第四期”数字普惠金融指数与上市公司匹配(根据省份匹配)/上市公司数字金融指数匹配

2011-2021年“第四期”数字普惠金融指数与上市公司匹配&#xff08;根据省份匹配&#xff09;/上市公司数字金融指数匹配 1、时间&#xff1a;2011-2021年 2、指标&#xff1a;股票代码、年份、行政区划代码、行业名称 、行业代码、所属省份、数字普惠金融指数、覆盖广度、使…

嵌入式学习5大误区,你中招了吗?

目录 误区1&#xff1a;错把自己当稚晖君 误区2&#xff1a;错误的学习方法 误区3&#xff1a;忽略时间成本 误区4&#xff1a;缺乏系统思维 误区5&#xff1a;追求完美主义 误区1&#xff1a;错把自己当稚晖君 稚晖君能够以一己之力创造一个个惊艳的产品&#xff0c;离不…

代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球

代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球 文章链接&#xff1a;柠檬水找零 根据身高重建队列 用最少数量的箭引爆气球 视频链接&#xff1a;柠檬水找零 根据身高重建队列 …

StarRocks 荣获 InfoWorld 2023 年最佳开源软件

近日&#xff0c;InfoWorld 公布了 2023 Bossie Awards 获奖名单&#xff0c;StarRocks 作为数据分析领域的明星项目&#xff0c;光荣入列。 InfoWorld 是一家具有全球影响力的信息技术媒体公司&#xff0c;每年都会根据软件对开源界的贡献&#xff0c;发布 Bossie Awards 榜单…

【Javascript】函数返回值的作用

目录 返回值 中断函数 只能写在函数体里面 返回值 function a(){var b3;return b3? 4:5;} console.log(a()); 创建一个函数&#xff0c;给b赋值3&#xff0c; return b3? 4:5; 判断b是不是等于3&#xff0c;如果是就返回4&#xff0c; 如果不是就返回5 中断函数…