Mybatis-Plus+SpringBoot结合运用

news2025/7/18 20:24:07

目录

前言

一、创建Maven项目导入相关的依赖

二、在resources添加日志和连接数据库

1.日志文件(log4j.properties)

2.连接数据库(application.properties)

三、编写pojo (注解编写get/set/tostring)

四、UserMapper编写继承BaseMapper

五、SpringBoot运行主函数

 六、编写测试类(查询所有)

七、测试结果

总结


前言

接着上文MP的知识点写Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]_心态还需努力呀的博客-CSDN博客

这次是标题所示的MP+SpringBoot整合运用 


一、创建Maven项目导入相关的依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>mp-springboot</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--设置父工程: 里面进行版本的锁定-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
    </parent>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>



    <!--添加依赖-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

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

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
    </dependencies>

    <!--编译jdk版本为1.8-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

二、在resources添加日志和连接数据库

1.日志文件(log4j.properties)

#??????
log4j.rootLogger=DEBUG,Console
#???????
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#??????
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

2.连接数据库(application.properties)

spring.application.name=mp-springboot



spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/study?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=123

三、编写pojo (注解编写get/set/tostring)

package cn.imust.mp.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class User {
    
    private Integer userId;

    
    private String userName;

   
    private String userPassword;

    private String userEmail;
    private String userRole;
    private String userStatus;

    


}

四、UserMapper编写继承BaseMapper

package cn.imust.mp.mapper;

import cn.imust.mp.pojo.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface UserMapper extends BaseMapper<User> {
}

五、SpringBoot运行主函数

package cn.imust.mp;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@MapperScan("cn.imust.mp.mapper")
@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class,args);
    }
}

 六、编写测试类(查询所有)

@Autowired
    private UserMapper userMapper;
//    测试查询所有selectList
    @Test
    public void testSelectList(){
        List<User> users = userMapper.selectList(null);
        for (User user : users) {
            System.out.println(user);
        }
    }

七、测试结果


 

总结

如果会配置springBoot的话只需要在mapper中继承mybatis-plus然后去调用里面的方法即可。有很多的现成的增删改查函数直接调用某个方法即可。用法很简单,但下节会说一下很多的小细节,如数据库表与设置变量非驼峰该怎么对应?设置的变量值数据库表中没有,但调用增加方法时有该值怎么办?id自增通过id查询怎么实现?其实就是下篇文章主要是讲解@TableField的用法。

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

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

相关文章

Fragment的生命周期

文章目录Fragment的生命周期Fragment的状态和回调运行状态暂停状态停止状态销毁状态回调方法附加的回调方法onAttach()onCreateView()onActivityCreated()onDestroyView()onDetach()Fragment完整的生命周期图Fragment的生命周期 和Activity一样,Fragment也有自己的生命周期,并…

c++实现图书管理系统v1.0

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录系统要求功能1.首页2.退出系统3.添加图书4.删除书籍5.查找书籍6.修改书籍信息7.显示所有图书8.查看书籍是否在书架上总代码收获系统要求 用c实现一个可以增删改查的…

商城项目环境准备 — docker安装kinaba和配置ik中文分词器

一、拉取kinaba镜像 docker pull kinaba:7.12.1二、启动kinaba容器 docker run -d \ --name kibana \ -e ELASTICSEARCH_HOSTShttp://es:9200 \ --networkes-net \ -p 5601:5601 \ kibana:7.12.1三、访问 输入http://ip:5601 ip&#xff1a;服务器端口 四、安装ik分词器 …

研究光度立体法阶段性小结和优化(可20ms获取4个2500*2000灰度图的Normal Map)。...

这个东西是我接触的第一个非2D方面的算法&#xff0c;到目前为止其实也没有完全搞定&#xff0c;不过可能短时间内也无法突破。先把能搞定的搞定吧。 这个东西也有一大堆参考资料&#xff0c;不过呢&#xff0c;搜来搜去其实也就那些同样的东西&#xff0c;个人觉得就属这个文章…

Java自幂数计算及其算法改进

文章目录1. 自幂数2.自幂数的个数3. 常规自幂数计算方法4.算法代码改进1. 自幂数 如果在一个固定的进制中&#xff0c;一个n位自然数等于自身各个数位上数字的n次幂之和&#xff0c;则称此数为自幂数。 例如&#xff1a;在十进制中&#xff0c;153是一个三位数&#xff0c;各个…

计算机网络4小时速成:网络层,虚电路和数据包服务,ipv4,ABC类地址,地址解析协议ARP,子网掩码,ICMP忘记控制报文协议,路由选择协议,路由器

计算机网络4小时速成&#xff1a;网络层&#xff0c;虚电路和数据包服务&#xff0c;ipv4,ABC类地址&#xff0c;地址解析协议ARP&#xff0c;子网掩码&#xff0c;ICMP忘记控制报文协议&#xff0c;路由选择协议&#xff0c;路由器 2022找工作是学历、能力和运气的超强结合体…

新闻管理系统(SpringBoot+Vue)

商丘工学院新闻网 1、前言 sqgxy-xxydz-news是在大四参加的web大赛的一个项目&#xff0c;与我的队友协同开发&#xff0c;在此过程中收获颇多。 2、介绍 商丘工学院新闻官网&#xff08;信息与电子工程学院&#xff09;包括前台新闻展示系统及后台管理系统&#xff0c;基于Sp…

九种常见UML图

我常用的UML图是 类图、用例图、序列图、状态图这4种。 1、类图 类图是面向对象系统建模最常见的图&#xff0c;是定义其他图的基础 类图主要用用来显示系统中的类&#xff0c;接口以及它们之间的静态结构和关系的一种静态模型 类图显示 集合的类、接口、关联、协作和约束&…

Shiro笔记03-与Spring Boot整合

框架整合 创建模块 创建一个Maven工程 添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation…

生还是不生? SpringBoot3 版本有起飞前兆,最小依赖Java17!

一直以来&#xff0c;Java8都是Java社区心头的痛。因为它代表着以稳定性为主的企业管理层&#xff0c;与拥抱变化为主的底层码农层之间的、爱的魔力拉锯战。 不生&#xff01;少生&#xff01;成为各大厂心照不宣的选择。 现在&#xff0c;这种平衡或将打破。因为Java届的霸主…

Python3编程基础-变量与计算器

变量与计算器 简单计算器 下面来做一个简单计算器&#xff0c;完成普通计算器功能。 打开IDlE&#xff0c;输入以下脚本进行计算。 >>> 34 7 >>> 6-(8*2) -10 >>> (5*234)*(45) 396 >>> 每一行都是一个Python语句&#xff0c;如果可能的…

Java并发-为什么主线程结束了,程序却没有关闭呢?

守护线程与用户线程的定义及区别 Java 中的线程分为两类&#xff0c;分别为 daemon 线程&#xff08;守护线程&#xff09;和 user 线程&#xff08;用户线程&#xff09;。 在 JVM 启动时会调用 main 函数&#xff0c; main 函数所在的线程就是一个用户线程&#xff0c;其实…

TCP协议灵魂之问

先亮出这篇文章的思维导图: TCP 作为传输层的协议&#xff0c;是一个软件工程师素养的体现&#xff0c;也是面试中经常被问到的知识点。在此&#xff0c;我将 TCP 核心的一些问题梳理了一下&#xff0c;希望能帮到各位。 001. 能不能说一说 TCP 和 UDP 的区别&#xff1f; 首…

四十分钟带你玩儿转Python-OpenCV(一)

14天学习训练营导师课程&#xff1a; 李宁《Python Pygame游戏开发入门与实战》 李宁《计算机视觉OpenCV Python项目实战》1 李宁《计算机视觉OpenCV Python项目实战》2 李宁《计算机视觉OpenCV Python项目实战》3 OpenCV是一个基于BSD许可&#xff08;开源&#xff09;发行的跨…

基于keras 卷积神经外网络搭建的手写数字识别 完整代码+数据可直接运行

项目介绍: 适合新手入门学习代码数据很简洁 上结果: 主要的卷积神经网络: 卷积是指在滑动中提取特征的过程,可以形象地理解为用放大镜把每步都放大并且拍下来,再把拍下来的图片拼接成一个新的大图片的过程。 2D卷积是一个相当简单的操作: 我们先从一个小小的权重矩阵…

iwebsec靶场 SQL注入漏洞通关笔记2- 字符型注入(宽字节注入)

系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1- 数字型注入_mooyuan的博客-CSDN博客 目录 系列文章目录 前言 第02关 字符型注入 1.源码分析 2.字符型宽字节注入 &#xff08;1&#xff09;渗透方法1&#xff1a; &#xff08;2&#xff09;渗透方法2&#xff1a; &am…

Git 分支管理详解

1.前言 我们先来说一个简单的案例吧&#xff0c;你们团队中有多个人再开发一下项目&#xff0c;一同事再开发一个新的功能&#xff0c;需要一周时间完成&#xff0c;他写了其中的30%还没有写完&#xff0c;如果他提 交了这个版本&#xff0c;那么团队中的其它人就不能继续开发…

记录:微星 GE63 屏轴断裂 之后。。。

2022/11/25 记录 微星 GE63 1070 笔记本&#xff0c;使用的第三年&#xff0c;已过保了一年&#xff0c;上周使用时&#xff0c;准备合上笔记本盖。啪一下&#xff0c;左侧屏轴断裂&#xff0c;B面翘起&#xff0c;A面左下角轴盖断了一截。 网上好多人都有类似的情况&#xff…

晶振在单片机中扮演着什么角色?晶振坏了单片机还能运行程序吗?

晶振坏了单片机还能运行程序吗&#xff1f;前言晶振是什么&#xff1f;单片机没有晶振可以运行程序吗&#xff1f;PCB中晶振电路的要求结语前言 今天突然想到一个问题&#xff0c;如果一个单片机的晶振坏了那单片机还能运行程序吗&#xff1f;带着这个问题我查询了很多的治疗发…

HTML5期末考核大作业 基于HTML+CSS+JavaScript沪上美食(9页)

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…