SpringBoot 集成mybatis-plus

news2024/9/28 15:31:21

目录

前言

简介

前提

运用mybatis-plus(使用20241.1版本的idea)

1 自动创建springboot项目

1.1 点击新建,SpringBoot

1.2 添加依赖项,点击创建

2添加 MyBatis-Plus Starter 依赖

2.1 打开mybatis-plus官网,点击快速开始,选择springboot3 复制代码

2.2 粘贴到pom文件中的 ...............,点击右上角图案,等待加载成功

3  添加数据库连接配置(yml配置文件)

4 数据库图形化界面工具中建表(已经建好表,可以忽略)

5   预防表的全部删除或全部更新

6 创建包 entity,mapper,controller,创建类或接口

6.1  创建包 entity,在包中创建User类

6.2 创建包mapper,在包中创建UserMapper接口(代码在官网中也有)

6.3 创建包controller,在包中创建TestController类

7 点击运行

小结


 

前言

本篇博客,基于mybatis-plus官网,简单了解和实际运用mybatis-plus

简介

MyBatis-Plus 是 一个 MyBatis的增强工具,为简化springboot开发、提高效率而生。

mybatis-plus 官网:简介 | MyBatis-Plus

前提

2f4d42fcb4a7443bb7587e40308da584.png

运用mybatis-plus(使用20241.1版本的idea)

1 自动创建springboot项目

1.1 点击新建,SpringBoot

8e7a9885ac5b4fafb02ebbf2931bfd53.png

1.2 添加依赖项,点击创建

依赖项

1 Lombok

2 web--spring Web

3 SQL---MySQL Driver

 

6ffdee312aac4f85b1ab41a9fcc8ce8a.png

创建成功

eda171b9a9614b24af7d2862a3f71965.png

2添加 MyBatis-Plus Starter 依赖

2.1 打开mybatis-plus官网,点击快速开始,选择springboot3 复制代码

ecd7b182712a48268ee0867313542a7d.png

2.2 粘贴到pom文件中的<dependencies> ...............</dependencies>,点击右上角图案,等待加载成功

7070796d1acf4c4f83864b4cb6aa4ac0.png

3  添加数据库连接配置(yml配置文件)

数据库的配置信息,我没有使用官网给我们的代码

原因是 官网使用是H2 数据库的相关配置,暂时不知道怎么运用到idea中

8e8540b98557458aa0e4696375ef57a9.png

代码如下

spring:
  datasource:
    username: root(用户名)
    password: 123456(密码)
    url: jdbc:mysql://localhost:3306/ss(数据库名)?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
    driver-class-name: com.mysql.cj.jdbc.Driver

我打括号的,做修改,其他不改动。

68121f4da4ad4d25848d2e3cb64d3e36.png

4 数据库图形化界面工具中建表(已经建好表,可以忽略)

注意:如果你已经创建好表了,就不需要在官网中把sql脚本添加到图形化界面工具中,创建新的表。

如何导入sql脚本文件?

具体步骤如下

1 在桌面新建一个文本文档,后缀为.sql

1a261c14edbc40c6b73bd4d8fe0c3e00.png

2 双击打开这个文件

3 点击运行,选择合适的数据库(点击之后,会自动加载到你的目标库中)

c2947644ec914fd19bae11dcdc0f6e83.png

注意:如果你运行之后,又打算放在其他库中,点击右上角的小三角形图案,选择合适的数据库

5570786da10640f694055f26c6502f63.png

5   预防表的全部删除或全部更新

BlockAttackInnerInterceptor 是 MyBatis-Plus 框架提供的一个安全插件,专门用于防止恶意的全表更新和删除操作。该插件通过拦截 update 和 delete 语句,确保这些操作不会无意中影响到整个数据表,从而保护数据的完整性和安全性。

代码在官网---防全表更新与删除插件

0f8680d184184307a13ea4e7fcdda93d.png

f8d9bff889664549be4e61ba4b96da47.png

6 创建包 entity,mapper,controller,创建类或接口

6.1  创建包 entity,在包中创建User类

如果是使用,官网中的数据库的代码,就使用官网提供给我们的实体类User

代码如下

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

fd4f210023724a3abf2079f6d5455ab0.png

6.2 创建包mapper,在包中创建UserMapper接口(代码在官网中也有)

代码如下

public interface UserMapper extends BaseMapper<User> {

}

fe9b013c6e72409ab4c5a6223d3f2307.png

6.3 创建包controller,在包中创建TestController类

代码如下

package com.it.example04.controller;

import com.it.example04.entity.User;
import com.it.example04.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class TestController {
    @Autowired
//该注解,创建userMapper对象
    private UserMapper userMapper;
    @RequestMapping("/list")
  public List<User>list(){
      return userMapper.selectList(null);
// 返回结果为表的字段和数据。访问浏览器中可以,看到表的字段和数据
  }

}

注意:在你创建userMapper对象时,可能会报红!!

原因:你没有往spring容器中注入bean(对象)

解决方法:在UserMapper接口中添加@Mapper注解

32cceacf843b4e2ba8cb0f32cda4a3b6.png

7 点击运行

e02f5a0d67c34973a6c9cc8417c252ee.png

在浏览器中输入:http://localhost:8080/list,会出现你建好的表的信息

94f318a5835f49028bebb79a2f4f9db2.png

小结

本篇博客,主要讲了如何在springboot项目中运用mybatis-plus 方便我们以后实际开发。

 

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

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

相关文章

适配算能BM1684开发板,bmodel推理模型转换

通过mlir转bmodel 一、文件转移 从算能官网technical center (sophgo.com)下载最新的版本&#xff0c;下载下来之后解压出来&#xff0c;再Ubuntu系统中创建一个sophon文件夹存放后续用到的文件&#xff0c;将tpu-mlir_v1.2.8-g32d7b3ec-20230802.tar.gz文件放入Ubuntu系统中…

《Java面试题集中营》- Redis

建议阅读《Redis开发与运维》《Redis设计与实现》《Redis深度历险&#xff1a;核心原理和应用实践》 Redis 为什么是单线程? 为什么单线程还能这么快&#xff1f; 单线程能够避免线程切换和竞态产生的消耗&#xff0c;而且单线程可以简化数据结构和算法的实现 至于单线程还快…

idea付费插件,SequenceDiagram有哪些优点

以下idea付费插件你们都用过哪些呢&#xff1f; SequenceDiagram插件是一种用于绘制时序图的工具。时序图是一种图形化的表示对象之间消息传递顺序的方法。 该插件可以在使用各种编程语言编写代码时&#xff0c;方便地绘制时序图&#xff0c;以帮助开发者更好地理解和描述系统…

Qt text-align和padding属性

1. text-align属性是用来设置文本的水平对齐方式。 text-align: center 文本将居中显示text-align: left 文本将左对齐显示text-align: right 文本将右对齐显示 2. 内边距padding: 内边距是元素内容与其边框之间的空间 padding-left: 10px; 距离内左边距10个像素点padding-r…

Crypto City盛夏狂欢:Hotcoin推出15,000 USDT迎新礼

在炎炎夏日之际&#xff0c;为了感谢广大用户对Hotcoin平台的支持与热爱&#xff0c;全球领先的数字资产交易平台Hotcoin特别推出了“Crypto City盛夏狂欢”活动。此次活动旨在通过丰厚的奖励迎接新用户&#xff0c;进一步提升用户体验和平台活跃度。 本次活动时间为2024年8月2…

制造企业如何启用BI工具,并构建自助式BI业务模式?

在制造业的数字化转型浪潮中&#xff0c;商业智能BI工具正逐渐成为推动企业增长的“加速引擎”。随着数据量的爆炸性增长&#xff0c;如何高效地分析和利用数据&#xff0c;已成为制造业提升竞争力的关键。本文将基于BI工具在制造业中的优势&#xff0c;深入探讨一种创新的BI分…

SSRF漏洞(三)

本文仅作为学习参考使用&#xff0c;本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 前言&#xff1a; 本文基于pikachu&#xff08;皮卡丘&#xff09;靶场进行SSRF渗透攻击教学。 靶场环境搭建&#xff1a;SSRF漏洞&#xff08;三&#xff09; 一&#xff0c;SSR…

WinForm小技巧之向下复制行和编辑行

WinForm小技巧之向下复制行 文章目录 WinForm小技巧之向下复制行场景代码编辑场景代码 场景 当我点击向下增加行按钮&#xff0c;会在表格中添加一行一摸一样的 代码 按钮点击事件 /// <summary>/// 向下新增/// </summary>/// <param name"sender"…

构建视频生态技术基石:EasyCVR平台如何打破视频流媒体协议壁垒

在快速发展的安防监控和视频流媒体传输领域&#xff0c;EasyCVR平台凭借其在视频流媒体协议上的独特技术优势&#xff0c;逐渐成为业界的佼佼者。本文将详细探讨TSINGSEE青犀视频EasyCVR平台在视频流媒体协议上的几大优势&#xff0c;并展示其在多种应用场景中的广泛应用。 1、…

【IEEE独立出版,快检索 | 高录用】第五届IEEE信息科学与教育国际学术会议(ICISE-IE 2024,12月20-22)

第五届IEEE信息科学与教育国际学术会议(ICISE-IE 2024)定于2024年12月20至22日在中国湛江隆重举行。 ICISE-IE 2024将围绕“信息科学”与"教育”等相关最新研究领域&#xff0c;为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工程师等提供一个分享专业…

4个获取设计灵感的优质网站

在设计的世界中&#xff0c;寻找灵感往往是创意迸发的第一步。无论是UI设计师、产品经理&#xff0c;还是自由插画师&#xff0c;找到适合的灵感源是至关重要的。以下介绍4个广受欢迎的设计灵感网站。 1. Dribbble Dribbble是全球领先的设计师社区和展示平台&#xff0c;提供…

4个方法教你高效免费地制作精美思维导图。

思维导图能够将我们的思维以一种图形的形式展现出来&#xff0c;可以帮助我们更好地组织和理解信息&#xff0c;并且能够运用在生活的各个方面。为了让大家都能够便利的制作思维导图&#xff0c;我整理了几个简单好用&#xff0c;还可以免费使用的思维导图工具分享给大家。 1、…

OceanBase 功能解析之 Binlog Service

前言 MySQL&#xff0c;是在全球广泛应用的开源关系型数据库&#xff0c;除了其稳定性、可靠性和易用性&#xff0c;他早期推出的二进制日志功能&#xff0c;即binlog&#xff0c;也是MySQL广受欢迎的原因。 MySQL binlog&#xff0c;即二进制日志&#xff0c;是 MySQL 中用于…

es:下载elasticsearch以及基本介绍

简介 Elasticsearch 是一个基于 Lucene 的开源、分布式、RESTful 搜索引擎。 使用场景&#xff1a;海量数据的搜索 和 Lucene 的关系 Lucene&#xff1a;最先进&#xff0c;功能最强大的搜索库。如果直接基于Lucene开发&#xff0c;非常复杂&#xff0c;api复杂。 Elasticse…

STM32F411 HC-05蓝牙模块驱动

硬件设计 HC-05将蓝牙协议完全封装了&#xff0c;我们只需要将其当作一个蓝牙转串口的模块来使用即可&#xff0c;配置也十分简单&#xff0c;只需要对串口进行配置就能使用。 蓝牙模块接线 蓝牙模块 STM32 TXD<---->RXD RXD<---->TXD VCC<---->3V3…

【C++】有关vector迭代器失效问题

个人主页 文章目录 一、迭代器失效是什么二、vector中哪些操作会导致迭代器失效三、如何避免迭代器失效的问题 一、迭代器失效是什么 在进入此问题时&#xff0c;我们首先要了解迭代器的本质其实是指针&#xff0c;迭代器的失效就相当于指针失效的问题。而指针失效就说明指针…

PneumoLLM: 利用大语言模型的力量进行尘肺病诊断| 文献速递-大模型与多模态诊断阿尔茨海默症与帕金森疾病应用

Title 题目 PneumoLLM: Harnessing the power of large language model for pneumoconiosis diagnosis PneumoLLM: 利用大语言模型的力量进行尘肺病诊断 01 文献速递介绍 在计算机辅助诊断领域&#xff0c;对医学数据的处理和分析能力至关重要。它有助于潜在疾病的诊断和未…

猫咪浮毛难清理?养宠工具新升级——宠物空气净化器来帮你

相信很多人和我一样&#xff0c;在工作后就特别想拥有一只属于自己的猫咪。试想一下每天下班回到家&#xff0c;不再是空荡的房间&#xff0c;有只小猫在等你&#xff0c;该有多么幸福。虽然小猫不会说话&#xff0c;但会用陪伴的方式表达爱&#xff0c;温暖我们的心灵。可我没…

大家都在考的AI证书,我不允许你还不知道!

随着AI人工智能技术的迅猛发展&#xff0c;人工智能生成内容浪潮席卷全球&#xff0c;技术革新越是凶猛&#xff0c;人们的失业焦虑便越加强烈&#xff0c;为了应对AI带来的冲击&#xff0c;有些人决定“打不过就加入”&#xff0c;转身投向这个风口行业。 在这个关键时刻&…

pdf文件渲染到canvas

1、jQuery 2、Fabric.js Fabric.js是一个对canvas进行封装的Javascript库&#xff0c;主要的功能包括在canvas上创建和填充图形&#xff0c;比如矩形、圆形、多边形&#xff1b;生成的图像自带缩放、旋转、拖拽等功能。 3、PDF.js PDF.js 是一个使用 HTML5 构建的便携式文档格式…