java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧

news2025/2/6 7:48:41

文章java springboot整合MyBatis做数据库查询操作讲述了boot项目整合MyBatis的操作方法

但现在就还有一个 MyBatis-Plus
Plus是国内整合的一个技术 国内的很多人会喜欢用 特别是一些中小型公司 他们用着会比较舒服

好 然后我们打开idea
创建一个项目
在这里插入图片描述
选择 Spring Initializr 工程
调一下项目路径 选择一下 java和jdk的版本 然后点击 Next
在这里插入图片描述
选择一下spring boot的版本 二点几就够了
在这里插入图片描述
到这啦 大家就会发现一个问题 sql下根本找不到 MyBatis-Plus
在这里插入图片描述
因为他是国人开发的东西 所以 并没有被spring boot官方收录坐标

没有 OK 那我们就先不管 我们先只要这个 MySql的驱动
在这里插入图片描述
然后我们点击 Finish 创建项目
项目就创建好了
在这里插入图片描述
但MyBatis-Plus还没有引入 我们访问地址
https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient/3.1访问Maven主站
进入后搜索 MyBatis-Plus
在这里插入图片描述
在这里 我们就可以看到它对应的坐标
我们点第一个进去
在这里插入图片描述
这里 版本的话 我们就选个 3.4.3
在这里插入图片描述
然后 我们直接点进去
在这里插入图片描述
这东西 反应可能有点慢 老实说 反应挺迟钝的
进入界面后向下拉

如图位置就有他这个坐标了
在这里插入图片描述
我们只需要将这个内容复制一下
我们找到刚刚创建的项目的 pom.xml 文件 将内容粘贴到dependencies标签中
在这里插入图片描述
这里 我们可以看到 他是 mybatis-plus-boot-starter 内容上直接没有spring这个词了
在这里插入图片描述
因为上面已经导入了 所以 我们直接将spring的这个起步依赖给干掉就好了
在这里插入图片描述
如果你的东西和我的一样 在这里报红 就可以这样操作 因为 2019版本的 IDEA 比较特殊
在这里插入图片描述
等右下角读条下载一会儿
在这里插入图片描述
然后 这里就没有任何问题了
在这里插入图片描述
然后 第二件事
和我们上文一样 做配置
我们看到自己本地的数据库

我们这里是个 MySql数据库
要操作 下面的 test数据库
在这里插入图片描述
回到项目 先找到application.properties配置文件 然后右键

在这里插入图片描述
改成 yml
在这里插入图片描述
参考内容如下

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: root

这里 我们声明 用MySql 然后 url 如果你没特殊设置过直接复制就好了 声明本机端口 3306下的 test数据库
然后 用户名密码 因为我没动过 就都是 root

然后还是上文一样 看到我们要操作的 staff表
在这里插入图片描述
这里是四个数字类型 加一个字符串类型

然后 找到我们项目中的启动类 在同目录下创建目录 domain
在这里插入图片描述
在下面创建一个与表同名的 staff 类
参考代码如下

package com.example.mep.domain;

public class staff {
    private int id;
    private String name;
    private int age;
    private int status;
    private int departmentid;

    @Override
    public String toString(){
        return "staff{"+
                "id"+id+
                "namne"+name+
                "age"+age+
                "status"+status+
                "departmentid"+departmentid+
                "}";
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

    public int getStatus() {
        return status;
    }
    public void setStatus(int status) {
        this.status = status;
    }

    public int getDepartmentid() {
        return departmentid;
    }
    public void setDepartmentid(int departmentid) {
        this.departmentid = departmentid;
    }
}

我们根据表字段 创建了所有的变量
然后 给这些变量都加上对应的 get set函数
然后 用 toString 输出所有变量的值

然后在启动类同目录 创建dao层
在这里插入图片描述
下面创建一个接口 叫
在这里插入图片描述
参考代码如下

package com.example.mep.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mep.domain.staff;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface staffDao extends BaseMapper<staff> {
}

这里 直接去继承 BaseMapper
规范类型 是我们刚刚创建的属性类 staff
BaseMapper接口中 增删除改的操作就都有了
并用 Mapper 将它交给spring去管理

然后 直接在测试类中去使用就好了
在这里插入图片描述
我们测试类编写代码如下

package com.example.mep;

import com.example.mep.dao.staffDao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class MepApplicationTests {

    @Autowired
    private staffDao staffDao;

    @Test
    void contextLoads() {
        System.out.println(staffDao.selectById(1));
    }
}

这里 这个 selectById 根据id查询 是BaseMapper提供的 根据id查询
然后运行代码
可以看到 我们的 sql语句就执行成功了
在这里插入图片描述
这里还有一种情况 如果你的数据库表 名字是 xxx_xxx 存在下划线 那么 这时 他就会有问题 找不到表 因为你类名也没办法加下划线

我们可以在application.yml中编写

mybatis-plus:
  global-config:
    db-config:
      table-prefix: tmp_

这样 他就会将我们内容全部读成 tmp_为前缀
例如 tmp_user表 你用user属性类 泛型 他就找得到了

大家可以多去看看 BaseMapper中的函数 真的还是比较方便的
多用用 plus 吧 支持一下国人开发的东西

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

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

相关文章

(九)CSharp-数组

一、矩形数组 1、访问数组元素 class Program{static void Main(string[] args){int[] intArr1 new int[15];intArr1[2] 10;int var1 intArr1[2];int[,] intArr2 new int[5, 10];intArr2[2, 3] 7;int var2 intArr2[2, 3];int[] myIntArray new int[4];for (int i 0; i…

Git 报错 Updates were rejected because the remote contains work that you do

目录 Git 报错 Updates were rejected because the remote contains work that you do 1、命令行出现这种情况 2、idea出现同样的报错&#xff0c;解决方式同上 Git 报错 Updates were rejected because the remote contains work that you do 这个报错实在是让我受不了了&…

Kendo UI for jQuery---03.组件___网格---05.编辑---01.概述

编辑概述 编辑是剑道 UI 网格的一项基本功能&#xff0c;它允许您操作其数据的呈现方式。 网格提供以下编辑模式&#xff1a; 批量编辑 内联编辑 弹出窗口编辑 自定义编辑开始 要启用编辑&#xff1a; 熟悉剑道UI中的常见编辑概念 配置网格的数据源 通过配置定义字段schem…

PaddleOCR Windows下配置环境并测试

目录 1.PaddleOCR 介绍 1.2 PaddleOCR支持模型介绍 2.环境配置 3.PaddleOCR源码 1.PaddleOCR 介绍 PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库&#xff0c;助力开发者训练出更好的模型&#xff0c;并应用落地。 支持多种OCR相关前沿算法&#xff0c;在此基础上打…

简单的一批的DockerFile构建(内附超详细docker学习笔记)

目录 介绍 DockerFile常用保留字指令 演示自定义构建java8版本centos docker专用学习笔记 超全 介绍 总结: 从应用软件的角度来看&#xff0c;Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段&#xff0c; * Dockerfile是软件的原材料 * Docker镜像是软件…

SpringBoot参数校验入门

一、添加依赖 <!--参数校验--> <dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId> </dependency> <!--lombok--> <dependency><groupId>org.projectlombok&…

few-shot object counting论文汇总

文章目录 2021OBJECT COUNTING: YOU ONLY NEED TO LOOK AT ONE 2022CounTR: Transformer-based Generalised Visual CountingFew-shot Object Counting with Similarity-Aware Feature Enhancement 2023CAN SAM COUNT ANYTHING? AN EMPIRICAL STUDY ON SAM COUNTING 2021 OBJ…

【MSP432电机驱动学习】TB6612带稳压电机驱动模块、MG310电机、13线霍尔编码器

所用控制板型号&#xff1a;MSP432P401r 今日终于得以继续我的电赛小车速通之路&#xff1a; 苏轼云 “ 素面常嫌粉涴 &#xff0c; 洗妆不褪朱红。 ” 这告诫我们不能只注重在表面粉饰虚伪的自己&#xff0c;要像梅花一样&#xff0c;不断磨砺自己的内在~ 后半句是 “…

广告经济学与垄断竞争分析

产品与广告 产品的分类&#xff1a; 搜寻品&#xff1a;消费者在购买商品之前就可以知道其特征的产品经验品&#xff1a;只能够在使用后才能确认其特征的产品信任品&#xff1a;产品的质量即使在消费之后仍然不能确定&#xff0c;例如医学和法律服务 广告的分类&#xff1a;…

【C++】在线编译器推荐,让你随时随地编写代码

▒ 目录 ▒ &#x1f6eb; 问题描述环境 1️⃣ 支持调试网站Repl.itOnlineGDB 2️⃣ 不支持调试网站Wandboxjson.cnjdoodletutorialspointcppshellideonecoliruonline-ide 3️⃣ 性能分析网站Quick C BenchmarkCompare C Builds 4️⃣ 其它C Insights&#xff08;学习模板、C11…

Java阶段四Day04

Java阶段四Day04 文章目录 Java阶段四Day04关于SLF4j日志框架使用Sql注解关于DAO架构关于Service关于异常 关于SLF4j日志框架 在开发实践中&#xff0c;通常禁止使用System.out.println()这种语句输出信息&#xff0c;主要原因有&#xff1a; 输出效率低下&#xff0c;特别是字…

A fight among three “三国”混战 | 经济学人20230520版社论双语精翻

《经济学人》2023年5月20日封面&#xff08;社论&#xff09;文章精翻&#xff1a;《全球支付系统的“三国”混战》&#xff08;A fight among three&#xff09; A fight among three “三国”混战 The fight over the future of global payments 全球支付的未来之争 Digital …

函数重载分析

函数重载 (Function Overload) 用同一个函数名定义不同的函数 当函数名和不同的参数搭配时函数的含义不同 函数重载至少满足下面的一个条件&#xff1a; 参数个数不同 参数类型不同 参数顺序不同 上面的两个函数可以构成重载函数吗&#xff1f; 当默认参数遇上函数重载会发…

分布式系统概念和设计——分布式多媒体系统

分布式系统概念和设计 分布式多媒体系统 QoS QoS&#xff08;Quality of Service&#xff0c;服务质量&#xff09;是一种网络管理和控制技术&#xff0c;可以对网络流量进行管理和调度&#xff0c;以确保网络对不同类型的数据流的传输可以提供适当的带宽、传输延迟、抖动和可…

《交通规划》——最短路分配方法

《交通规划》——最短路分配方法 说明&#xff1a;下面内容&#xff0c;将用python、networkx实现刘博航、杜胜品主编的《交通规划》P198页的例题&#xff0c;主要是实现最短路径分配方法。 1. 题目描述如下&#xff1a; 2. networkx构建网络 import networkx as nx import …

Spring6 面向切面(AOP)

文章目录 1、场景模拟1.1、声明接口1.2、创建实现类1.3、创建带日志功能的实现类1.4、隐藏问题 2、代理模式2.1、概念2.2、静态代理2.3、动态代理2.4、测试 3、AOP概念及相关术语3.1、概述3.2、相关术语①横切关注点②通知&#xff08;增强&#xff09;③切面④目标⑤代理⑥连接…

跨模态检索论文阅读:Dissecting Deep Metric Learning Losses for Image-Text Retrieval(GOAL)

Dissecting Deep Metric Learning Losses for Image-Text Retrieval 剖析图像文本检索中的深度度量学习损失 2022.10 视觉语义嵌入&#xff08;VSE&#xff09;是图像-文本检索中的一种流行的应用方法&#xff0c;它通过学习图像和语言模式之间的联合嵌入空间来保留语义的相似性…

2023.06.14 QT day3

用QT实现的简单文本编辑器 头文件widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> #include <QTextEdit> #include <QFont> #include <QFontDialog> #include <QColor> #include <QColorDialo…

C语言符合类型之结构篇(结构指针)

结构相关知识总结 什么是结构&#xff1f;结构的声明与简单使用结构的初始化结构中成员变量的访问结构的初始化器结构数组结构数组的声明结构数组的成员标识 结构的嵌套结构指针结构作为参数在函数中传递将结构成员作为参数进行传递将结构地址(指向结构的指针)作为参数进行传递…

leetcode 279.完全平方数

题目描述 给你一个整数 n &#xff0c;返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数&#xff0c;其值等于另一个整数的平方&#xff1b;换句话说&#xff0c;其值等于一个整数自乘的积。例如&#xff0c;1、4、9 和 16 都是完全平方数&#xff0c;而 3 和 11 …