【小白专属02】SpringBoot集成MybatisPlus

news2024/11/26 8:56:00

目录

前言

一、添加依赖项

二、配置数据库连接信息

三、数据库创建表

四、创建实体表

五、编写Mapper接口

六、功能测试


前言

上节回顾

上一节我们对SpringBoot框架进行了搭建,其实按照流程走问题不大。最主要的部分我们把下载SpringBoot demo的网址换成了我们国内aliyun.com。这样不仅我们的访问速度变快了,而且创建过程中也不会因为网络问题卡顿或者出错。


本节介绍

这一节,我们将介绍如何在Spring Boot应用程序中集成Mybatis-Plus。MybatisPlus是一个Mybatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这会让我们接下来的开发如鱼得水。接下来开始我们的旅程吧...

一、添加依赖项

  1. pom.xml文件引入依赖
<!-- mybatis-plus -->
<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>3.5.1</version>
</dependency>

MyBatis-Plus Boot Starter是Mybatis-Plus的启动器,它提供了一些额外的功能,如分页插件和乐观锁插件

二、配置数据库连接信息

接下来我们将src/main/resources/application.properties文件修改成application.yml文件

然后在application.yml文件中添加以下配置信息

ip:本机ip地址

port:端口号

driver-class-name:指定了MySQL驱动程序的类名

url:指定了要连接的MySQL数据库的地址、端口号和数据库名称

username:数据库名称

password:数据库密码

log-impl:控制台打印sql语句

# 应用服务 WEB 访问端口
server:
 	ip: localhost
 	port: 9090
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/wh?serverTimezone=UTC
    username: root
    password: root 
mybatis:
  mapper-locations: classpath:mapper/*.xml #扫描所有mybatis的xml文件
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

三、数据库创建表

我们在数据库中创建一个sys_user表

创建表结构的DDL语句如下:

CREATE TABLE `sys_user` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT 'id',
  `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户名',
  `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '密码',
  `nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '昵称',
  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '邮箱',
  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '电话',
  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '地址',
  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '图片路径',
  `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '角色',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;

四、创建实体表

现在我们可以开始创建实体类来表示我们的数据模型。例如我们创建一个名为sysUser的实体类来标识一个用户:

参考文档:注解 | MyBatis-Plus

@TableName:表名注解,标识实体类对应的表

@Data:使用lombok注解

@TableId:主键注解

@TableName("sys_user")
@Data
public class SysUser {

    @TableId(value = "id",type = IdType.AUTO)
    private int id;//id
    private String username;//用户名
    private String password;//密码
    private String nickname;//昵称
    private String email;//邮箱
    private String phone;//电话
    private String address;//地址
    private LocalDateTime create_time;//创建时间
    private String avatar_url;//图片路径
    private String role;//角色
}

在上面的代码中,我们使用了@Data注解来自动生成getter和setter方法,并使用Lombok库中的@Data注解来简化代码。这将使我们能够在后续步骤中使用Mybatis-Plus来访问和操作这个实体类。

五、编写Mapper接口

在src/main/java/cn/soft/wh下新建一个包。命名为mapper。在里面新建一个SysUserMaper接口。

代码如下:

@Mapper
public interface SysUserMapper extends BaseMapper<SysUser> {

}

六、功能测试

  1. 我们先在数据库填写一条测试数据

  1. 在src/test/java/cn/soft/wh下新建一个测试类
@SpringBootTest
public class SampleTest {

    @Resource
    private SysUserMapper sysUserMapper;

    @Test
    public void testSelect() {
        System.out.println(("----- selectAll method test ------"));
        List<SysUser> userList = sysUserMapper.selectList(null);
        Assert.isTrue(1 == userList.size(), "");
        userList.forEach(System.out::println);
    }
}

测试完成,如果控制台如下输出,说明测试成功。我们的SpringBoot集成MybatisPlus就结束了。

至此,我们的SpringBoot+MybatisPlus项目框架就搭建好了。

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

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

相关文章

编程每日一练(多语言实现)基础篇:百元买百鸡

文章目录 一、实例描述二、技术要点三、代码实现3.1 C 语言实现3.2 Python 语言实现3.3 Java 语言实现3.4 JavaScript 语言实现 一、实例描述 中国古代数学家张丘建在他的 《算经》 中提出了一个著名的 "百钱买百鸡问题"&#xff0c; 鸡翁一&#xff0c;值钱五&…

重新定义旅行,AnyGo for Mac让你畅享虚拟GPS位置的无限可能!

旅行是一种令人兴奋和激动人心的体验&#xff0c;而现在有了AnyGo for Mac这款强大的虚拟GPS位置工具&#xff0c;你将能够重新定义旅行&#xff0c;尽情探索全新的地理环境和体验&#xff01; AnyGo for Mac为你带来了全新的旅行方式。无需离开家门&#xff0c;你就可以通过模…

基于php的物流信息公共平台设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于php的物流信息公共平…

面对海量数据挑战,企业怎样进行数据处理?

海量数据给企业带来机遇的同时&#xff0c;也给企业带来了一定的挑战。怎样高效处理海量数据也是成为了企业面临的重要问题。 一&#xff1a;数据采集 数据采集是数据处理的第一步。企业需要进行数据采集&#xff0c;但是要保证数据的准确性以及安全性。同时需要注意&#xf…

PgSQL-向量数据库插件-lantern

PgSQL-向量数据库插件-lantern 即pgvector、pg_embedding 后又一向量数据库扩展Lantern问世了。当然也为向量列提供了hnsw索引以加速ORDER BY... LIMIT查询。Lantern使用usearch实现hnsw。 使用方法 保留了标准PgSQL接口&#xff0c;兼容其生态工具。首先需要安装该插件&#x…

服务器基础知识:raid卡有什么优势?

当今直播电商、短视频呈现热火朝天的趋势&#xff0c;是近两年的商业热门议题&#xff0c;以淘宝天猫、拼多多、抖音、小红书、视频号为代表的平台数据量呈现爆炸性的增长。据IDC预测&#xff0c;2025年全球数据总量将增至175ZB&#xff08;1ZB1万亿GB&#xff09;&#xff0c;…

数字电视码流分析仪通用规范

声明 本文是学习GB-T 26274-2010 数字电视码流分析仪通用规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了数字电视码流分析仪(以下简称码流分析仪)的技术要求、试验方法、检验规则及标 志、包装、运输、贮存等。 本标准适…

C++代码示例:组合数简单生成工具

文章目录 前言代码仓库内容代码&#xff08;有详细注释&#xff09;编译和运行命令结果总结参考资料作者的话 前言 C代码示例&#xff1a;组合数简单生成工具。 代码仓库 yezhening/Programming-examples: 编程实例 (github.com)Programming-examples: 编程实例 (gitee.com) …

echarts 折线组件

echarts 折线组件 <template><div class"lineChartsTemplate" :id"chartsId"></div> </template><script> export default {name: "lineChartsTemplate",components: {},props: {xData: {type: Array,default: ()…

个人在运行python代码过程中的坑230928

0关于GPT和百度使用的区别 就我个人使用经验而言&#xff0c;我觉得百度、知乎、csdn更是直接奔着解决问题去的&#xff0c;直接方便快捷&#xff0c;不需要你再对信息进行加工&#xff0c;可以直接找到经验。 GPT则是需要我们给他一个输入&#xff0c;给他一个提示&#xff0…

提高网申通过率的秘籍,校园招聘之春招秋招都有效

提高网申通过率的秘籍&#xff01;校园招聘&#xff08;校招-春招-秋招&#xff09;都有效。 网申&#xff0c;指的是在网上申请招聘企业的岗位&#xff0c;每年春招秋招&#xff0c;都是毕业生们的重点大事&#xff0c;如何把握好机会&#xff0c;就在于各个环节的细节之处&…

联盟 | 彩漩 X HelpLook,AI技术赋能企业效率提升

近日&#xff0c;AI 驱动的 PPT 协作分享平台「 彩漩 」与 AI 知识库搭建工具「 HelpLook」&#xff0c;携手为用户工作流注入更多智能和创造力&#xff0c;全面拥抱 AIGC 时代带来的机遇&#xff0c;致力于提供前沿的智能解决方案。 彩 漩 彩漩是一个以 AI 技术为基础、贯彻 …

排雷Jmeter分布式性能测试,为什么要用分布式?这些易错点特别危险!

01、为什么要使用分布式 做性能测试时&#xff0c;如果被测系统性能比较好&#xff0c;或者系统项目比较大&#xff0c;那么一般都会要求能支持比较高的并发用户数。而我们做性能测试时&#xff0c;发起请求的机器&#xff0c;硬件资源是一定的&#xff0c;不可能配置无限大。…

基于Linux socket聊天室-多线程服务器模型(01)

​前言 socket在实际系统程序开发当中&#xff0c;应用非常广泛&#xff0c;也非常重要。实际应用中服务器经常需要支持多个客户端连接&#xff0c;实现高并发服务器模型显得尤为重要。高并发服务器从简单的循环服务器模型处理少量网络并发请求&#xff0c;演进到解决C10K&…

如何爬取动态加载的图片数据

百度图片是一个非常受欢迎的图片分享平台&#xff0c;其中包含了大量的图片资源。然而&#xff0c;百度图片使用了动态加载技术&#xff0c;使得Python爬虫在获取百度动态加载图片时面临一定的难度。百度图片使用了动态加载技术&#xff0c;这意味着图片并不是一次性全部加载出…

2.安装conda python库

centos 显卡驱动、cuda、cudnn安装参考地址&#xff1a; 1.centos7 安装显卡驱动、cuda、cudnn-CSDN博客 3.Cenots Swin-Transformer-Object-Detection环境配置-CSDN博客 1.安装anaconda 步骤1&#xff1a;下载 下载地址&#xff1a; Index of / 下载版本 步骤2&#xf…

深信服安全GPT 2.0升级,开启安全运营“智能驾驶”旅程

9月22日&#xff0c;深信服对外展示安全GPT落地成果与2.0升级能力。来自各行业权威嘉宾代表&#xff1a;美的集团首席信息安全官&#xff08;CISO&#xff09;兼软件工程院院长、欧洲科学院院士&#xff08;MAE&#xff09;、IEEE Fellow、IET Fellow、ACM杰出科学家、AAIA Fel…

Java集合随笔

这里写自定义目录标题 好文链接常见的方法Collections类Comparator接口HashMap 的长度为什么是 2 的幂次方&#xff1f;讲解链接 Collection部分&#xff1a; Set部分&#xff1a; HashSet&#xff1a;底层数据结构是哈希表&#xff0c;线程不安全&#xff0c;无序&#xff0…

【ArcGIS Pro二次开发】(68):计算面要素的四至点

这个工具的目的是计算面要素的四至点。 四至点并不是要素的MaxX,MaxY,MinX,MinY四个值。如果要计算这四个字&#xff0c;可以直接使用系统自带的【计算几何属性】进行计算&#xff1a; 这里要计算的是要素的最东、西、南、北的四个点坐标。 因此首先要获取这四个点&#xff0c…

vue3 - 基于ts的时间转换处理的time utils

GitHub Demo 地址 在线预览 时间转换处理的工具类 timeUtils.ts // 时间转换工具类const TimeUtils {Jh_getTimeStamp,Jh_timeStampToTime,Jh_convertTimeStamp,Jh_timeStampToYMD,Jh_isToday,Jh_getYearMonth,Jh_getPrevYear,Jh_getNextYear,Jh_getPrevYearMonth,Jh_getNex…