当前位置: 首页 > news >正文

二、Java中SpringBoot组件集成接入【MySQL和MybatisPlus】

二、Java中SpringBoot组件集成接入【MySQL和MybatisPlus】

    • 1.MySQL和MybatisPlus简介
    • 2.maven依赖
    • 3.配置
      • 1.在application.yaml配置中加入mysql配置
      • 2.新增Mybatis-Plus配置类
    • 4.参考文章

1.MySQL和MybatisPlus简介

MySQL是一种开源的关系型数据库管理系统,被广泛应用于各种类型的Web应用程序和企业级应用程序中。它提供了可靠的数据存储和查询功能,并支持高可扩展性和性能。MySQL具有良好的跨平台性,可以在多个操作系统上运行,并且拥有庞大的社区支持和活跃的开发者生态系统。

Mybatis Plus(简称为MP)是一款基于MyBatis框架的增强工具,提供了更加便捷的开发方式和更强大的功能。它通过代码生成器、通用CRUD方法、分页插件等功能增强了MyBatis的功能和易用性,进一步优化了持久层开发的流程。

MySQL和Mybatis Plus结合使用可以帮助开发者高效地进行数据存储和访问

2.maven依赖

        <!--JDBC驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version></dependency><!--数据库连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.23</version></dependency><!--数据库持久层--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-extension</artifactId><version>3.5.1</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version></dependency>

3.配置

1.在application.yaml配置中加入mysql配置

spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghaiusername: rootpassword: 123456

2.新增Mybatis-Plus配置类

在这里插入图片描述
MybatisPlusConfiguration:

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** 要使用Mybatis-Plus中的分页功能,需要添加这个配置类,加入分页拦截器的配置*/@Configuration
public class MybatisPlusConfiguration {/*** 新的分页插件,一缓和二缓遵循mybatis的规则,*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
}

MybatisPlusMetaObjectHandler:

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.time.ZoneId;/*** Automatic filling for set values*/
@Component
public class MybatisPlusMetaObjectHandler implements MetaObjectHandler {/*** Automatic filling when inserting into the database.* @param metaObject*/@Overridepublic void insertFill(MetaObject metaObject) {this.strictInsertFill(metaObject, "create_time", Long.class,LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());}/*** Automatic filling when updating the data.* @param metaObject*/@Overridepublic void updateFill(MetaObject metaObject) {this.strictUpdateFill(metaObject, "update_time", Long.class,LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());}
}

4.参考文章

SpringBoot整合JDBC、Druid
SpringBoot集成MybatisPlus

相关文章:

二、Java中SpringBoot组件集成接入【MySQL和MybatisPlus】

二、Java中SpringBoot组件集成接入【MySQL和MybatisPlus】 1.MySQL和MybatisPlus简介2.maven依赖3.配置1.在application.yaml配置中加入mysql配置2.新增Mybatis-Plus配置类 4.参考文章 1.MySQL和MybatisPlus简介 MySQL是一种开源的关系型数据库管理系统&#xff0c;被广泛应用…...

银行测试--------转账

转账 付款账号测试 付款账号是借记卡&#xff0c;也可以是活期存折信用卡&#xff0c;定期存折不能转出。一般在账号选择的时候进行屏蔽转出账户在销户&#xff0c;冻结&#xff0c;挂失等异常状态&#xff0c;不能进行转账付款账号金额不够 转账金额测试 0.01&#xff5e;…...

阿里云最新优惠券领取方法及优惠活动汇总

随着互联网的飞速发展&#xff0c;云服务已经成为企业和个人使用的重要基础设施。阿里云作为全球领先的云服务提供商&#xff0c;一直致力于为用户提供优质的云服务。为了回馈用户&#xff0c;阿里云会定期推出各种优惠券和优惠活动&#xff0c;本文将为大家介绍阿里云最新优惠…...

动态分配内存的风险

1. 悬挂指针问题 在指针释放之后要将指针置空 delete ptr; ptr nullptr;2.内存碎片问题 频繁的申请与释放小块内存会造成大量的内存碎片。 3.内存申请与释放问题 C与C的内存申请与释放最好不要混用。 4.复制内存 基本语法 void* memcpy(void* _Dst, void* _Src, size_…...

多行SQL转成单行SQL

如下图所示 将以上多行SQL转成单行SQL 正则表达式如下 (?s)$[^a-zA-Z()0-9]*结果如下 灵活使用,也未必只能使用Sublime Text...

wpf的资源路径

1、手动命名空间 xmlns:share"clr-namespace:***;assembly**" 2、资源文件 Pack URI 编译到本地程序集内的资源文件的 pack URI 使用以下授权和路径&#xff1a; 授权&#xff1a;application:///。 路径&#xff1a;资源文件的名称&#xff0c;包括其相对于本地…...

shell 脚本之一键部署安装 Nginx

定义一个变量来存放 nginx 版本号 version1.15.4nginx 下载地址&#xff1a;http://nginx.org/download/ 下列函数功能则是判断当前步骤是否执行成功&#xff0c;并将结果输出出来 function show_result(){if [ "$1" -eq 0 ]thenecho -e "\e[32m$2 is Succes…...

第01章_Java语言概述拓展练习(为什么要设置path?)

文章目录 第01章_Java语言概述拓展练习1、System.out.println()和System.out.print()有什么区别&#xff1f;2、一个".java"源文件中是否可以包括多个类&#xff1f;有什么限制&#xff1f;3、Something类的文件名叫OtherThing.java是否可以&#xff1f;4、为什么要设…...

手机直连卫星及NTN简介

一、手机直连卫星的发展现状 近日&#xff0c;华为推出了支持北斗卫星短报文的Mate 50旗舰机、P60系列&#xff0c;苹果也跟Globalstar&#xff08;全球星&#xff09;合作推出了支持卫星求救的iPhone14&#xff0c;最亮眼的还是华为的。这几款产品揭开了卫星通信探索消费领域…...

对git中tag, branch的重新理解

1. 问题背景 项目中之前一个tag&#xff08;v1.0&#xff09;打错了&#xff0c;想删除它&#xff0c;但我们从此tag v1.0中迁出新建分支Branch_v1.0,在此分支下修复了bug&#xff0c;想重新打一个tag v1.0&#xff0c;原来的tag v1.0可以删除掉吗&#xff1f; 错误的理解&am…...

python中none的替换方法:pandasnumpy

none的替换方法&#xff1a; 1.pandas # 将缺失的id值替换为None merged_df[id].fillna(None, inplaceTrue) #这行代码使用了Pandas库中的fillna方法&#xff0c;对DataFrame中的id列进行了填充操作。具体来说&#xff0c;它将该列中的缺失值用字符串None进行填充&#xff0c…...

您与此网站之间建立的连接不安全

连接不安全的主要原因之一是使用不安全的通信协议。在互联网传输中&#xff0c;如果使用的协议不加密&#xff0c;那么数据就容易受到窃听和篡改。另一个可能的原因是网站没有正确配置其安全证书&#xff0c;使得用户的连接没有得到适当的加密保护。 解决方法&#xff1a; 采用…...

__declspec (dllexport)定义了导出函数,但dll中没有此函数

这个一个比较低级的问题&#xff0c;为避免两次犯这样的低级错误&#xff0c;特此记录。 发生这个问题的原因是未包含头文件&#xff0c;例如&#xff1a; test.h //在头文件中声明了导出函数test() #ifdef __cplusplus extern "C" { #endif /*__cplusplus 1*/ext…...

CSS样式学习

html超文本传输标签&#xff0c;属性等权重 outline 标签轮廓 <input type"text"> <textarea cols"30" rows"10"></textarea> outline: none; 表示无轮廓 &#xff08;开发时用的比较多&#xff09; CSS 轮廓&#xff…...

传感数据分析中的小波滤波:理论与公式

传感数据分析中的小波滤波&#xff1a;理论与公式 引言 在传感数据分析领域&#xff0c;小波滤波作为一种强大的信号处理工具&#xff0c;广泛应用于噪声去除、信号压缩、特征提取以及频谱分析等方面。本文将深入介绍小波滤波的理论基础和相关数学公式&#xff0c;以更全面地…...

iOS 按钮添加点击震动

1. 方法说明&#xff1a; iOS10后系统提供了一套API来简单实现震动&#xff1a; init时传入一个style定义好的枚举就可以实现不同的震动 typedef NS_ENUM(NSInteger, UIImpactFeedbackStyle) {UIImpactFeedbackStyleLight,UIImpactFeedbackStyleMedium,UIImpactFeedbackStyle…...

李沐-《动手学深度学习》--02-目标检测

一 、目标检测算法 1. R-CNN a . 算法步骤 使用启发式搜索算法来选择锚框&#xff08;选出多个锚框大小可能不一&#xff0c;需要使用Rol pooling&#xff09;使用预训练好的模型&#xff08;去掉分类层&#xff09;对每个锚框进行特征抽取&#xff08;如VGG,AlexNet…)训练…...

【EAI 006】ChatGPT for Robotics:将 ChatGPT 应用于机器人任务的提示词工程研究

论文标题&#xff1a;ChatGPT for Robotics: Design Principles and Model Abilities 论文作者&#xff1a;Sai Vemprala, Rogerio Bonatti, Arthur Bucker, Ashish Kapoor 作者单位&#xff1a;Scaled Foundations, Microsoft Autonomous Systems and Robotics Research 论文原…...

.pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?

引言&#xff1a; 在网络安全领域&#xff0c;.pings勒索病毒一直是不断演变的威胁之一。其变种的不断出现使得对抗这一数字威胁变得更加复杂。本节将深入剖析.pings勒索病毒变种的出现&#xff0c;以更好地理解其威胁性质和对策。如果受感染的数据确实有恢复的价值与必要性&a…...

Rustdesk本地配置文件存在什么地方?

环境&#xff1a; rustdesk1.1.9 Win10 专业版 问题描述&#xff1a; Rustdesk本地配置文件存在什么地方&#xff1f; 解决方案&#xff1a; RustDesk 是一款功能齐全的远程桌面应用。 支持 Windows、macOS、Linux、iOS、Android、Web 等多个平台。 支持 VP8 / VP9 / AV1 …...

Turtlebot3仿真避坑指南:从ROS环境配置到GPU加速训练的全流程解析

Turtlebot3仿真避障训练全流程避坑指南&#xff1a;从环境配置到GPU加速的实战经验 第一次在实验室里启动Turtlebot3仿真环境时&#xff0c;我盯着屏幕上卡在99%加载进度的Gazebo界面整整三小时。作为机器人方向的研究生&#xff0c;没人告诉我仿真环境搭建会消耗80%的科研时间…...

从DEM到智慧决策:河北地形分析在生态保护与灾害预警中的实战应用

从DEM到智慧决策&#xff1a;河北地形分析在生态保护与灾害预警中的实战应用 河北省作为中国地形最丰富的省份之一&#xff0c;从坝上高原到华北平原的过渡带&#xff0c;构成了一个天然的"地理实验室"。当我们谈论DEM&#xff08;数字高程模型&#xff09;时&#x…...

AI辅助开发:如何优化CiteSpace关键词聚类图谱线条的可视化效果

作为一名经常和文献计量数据打交道的开发者&#xff0c;我深知CiteSpace这类工具生成的关键词共现图谱有多“劝退”。密密麻麻的线条交织在一起&#xff0c;像一团理不清的毛线&#xff0c;关键信息被淹没在视觉噪音里。传统的力导向布局算法在处理大规模、高密度网络时&#x…...

如何用Rufus制作万能启动盘:从新手到专家的完整指南

如何用Rufus制作万能启动盘&#xff1a;从新手到专家的完整指南 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus Rufus是一款专业且可靠的USB格式化工具&#xff0c;专为制作启动盘而生。无论是Wi…...

OpenClaw+GLM-4.7-Flash:智能会议纪要生成

OpenClawGLM-4.7-Flash&#xff1a;智能会议纪要生成 1. 为什么需要智能会议纪要助手 作为一名经常需要参加各种会议的技术从业者&#xff0c;我深刻体会到会议纪要整理的痛苦。传统方式要么是手动记录&#xff0c;要么是录音后反复回放整理&#xff0c;效率极低。直到我尝试…...

CAN总线故障诊断与维修全指南

经典CAN总线现场故障分析与诊断指南1. CAN总线故障概述1.1 常见故障现象当CAN总线系统出现传输异常时&#xff0c;通常会表现为多种复合故障现象&#xff0c;包括但不限于&#xff1a;仪表板显示异常车辆启动/熄火功能失效动力系统性能下降特定电控模块功能丧失这些现象的根本原…...

论人机协同中的模糊性与不确定性

在人工智能从"工具辅助"向"智能伙伴"演进的过程中&#xff0c;人机协同正突破传统"人主导-机执行"的单向模式&#xff0c;形成双向认知交互的新型协作关系。这种关系的复杂性远超简单的人机分工——人类认知的模糊性&#xff08;Fuzziness&#…...

32位 Windows App Service 最大能使用多少内存?

不同托管模式下可用内存如何计算&#xff1f;本文将针对这些问题进行详细解答。问题解答一、32 位程序最大能使用多少内存&#xff1f;理论上限约为 4GB32 位程序的内存地址由 32 个二进制位组成&#xff0c;因此理论上可以有 2 4,294,967,296 种不同的内存地址。每个内存地址…...

仅限核心开发者知晓的Python多解释器通信“暗通道”:通过_cffi_interpreter_bridge实现C层直接调用(非pickle、零序列化开销)

第一章&#xff1a;Python多解释器通信的演进与挑战Python长期以来以全局解释器锁&#xff08;GIL&#xff09;为基石&#xff0c;在单进程内保障线程安全&#xff0c;却也天然限制了多线程对CPU密集型任务的并行能力。为突破GIL束缚&#xff0c;Python 3.12正式引入原生支持的…...

英特尔Linux处理器微码更新:保障系统安全与稳定的关键指南

英特尔Linux处理器微码更新&#xff1a;保障系统安全与稳定的关键指南 【免费下载链接】Intel-Linux-Processor-Microcode-Data-Files 项目地址: https://gitcode.com/gh_mirrors/in/Intel-Linux-Processor-Microcode-Data-Files Intel Linux Processor Microcode Data…...