Mybatis-Plus+SpringBoot结合运用

2023-10-29

目录

前言

一、创建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的用法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mybatis-Plus+SpringBoot结合运用 的相关文章

随机推荐

  • JVM优化(OOM,内存溢出),查看线程快照,堆内存情况等问题

    1 堆大小 新生代 老年代 新生代 Young 与老年代 Old 的比例的值为 1 2 该值可以通过参数 XX NewRatio 来指定 2 Xmn参数总是应当小于 Xmx参数 否则就会触发OOM错误 3 jvm优化与查看gc回收情况 gc
  • WDK李宏毅学习笔记第二十周01_Deep Reinforcemen Learning

    Deep Reinforcemen Learning 文章目录 Deep Reinforcemen Learning 摘要 1 Reinforcemen Learning RL 是什么 1 1 RL的做法 1 1 1 Function wi
  • 6.4 PyTorch实现Skipgram模型

    欢迎订阅本专栏 PyTorch深度学习实践 订阅地址 https blog csdn net sinat 33761963 category 9720080 html 第二章 认识Tensor的类型 创建 存储 api等 打好Tensor的
  • [游戏更新]游戏更新框架的设计

    主要是通过文章来记录一下游戏更新流程的框架设计 资源打包 资源下载等 热更新的功能框架使用的是XLua 这里不做详细介绍 流程图 因为是海外游戏 考虑到GooglePlay对包体大小的限制 因此 会有一些资源做成压缩包 在特定时间进行下载
  • 学习grep(参数)选项

    grep一般格式为 grep 选项 基本正则表达式 文件 这里基本正则表达式可为字符串 1 1 双引号引用 在grep命令中输入字符串参数时 最好将其用双引号括起来 例如 m y s t r i n g 这样做有两个原因 一是以防被误解为s
  • 使用python时,ModuleNotFoundError: No module named ‘win32api‘处理方法

    方法一 亲测有效 直接 pip install pywin32 就行了 方法二 转载自https blog csdn net qq 41676500 article details 89282872 1 环境 win10 python3 7
  • Golang面试题(51-75)

    51 读写锁RWMutex的实现原理 概念 读写互斥锁是对Mutex的一个扩展 当一个Goroutine获得读锁后 其他Goroutine仍然可以获取读锁 当一个Goroutine获取写锁后 其他Goroutine不能获取读锁和写锁 使用场
  • Godot 4 源码分析 - 文件读入编码处理

    今天需要读入xml文件进行处理 结果读入一个带中文的文件时 出错了 当然程序还能运行 但编译器一直报错 而且XML解析也不正确 单步调试发现读入的内容出现乱码 具体逻辑 String FileAccess get as text bool
  • 剪贴板是计算机系统,剪贴板在哪里,手把手教你如何打开电脑剪贴板

    电脑上的剪切板对用户来说是非常重要工具 经常要用到它 复制或者移动的文件 都是先放在 剪贴板 里面 然后从这里面复制或者移动到指定的地方去 但是许多用户反映说不懂得 那么剪切板究竟该如何打开呢 下面 小编给大家讲解打开电脑剪贴板的技巧 作为
  • 软件项目的全生命周期

    就职于软件行业的人 无论是销售 售前 技术还是财务一定都会接触到关于项目运作相关的工作 不同职位的员工对于项目的关注点也大不相同 财务人员关注项目的收款节点 销售人员关注项目的商务关系及前期引导 实施人员关注项目的实施过程等等 这就造成各个
  • 递归查询与迭代查询实例说明

    转载请注明来源 作者 loongshawn http blog csdn net loongshawn article details 55261897 建议读者阅读原文 确保获得完整的信息 1 定义说明 熟悉几个概念 循环 loop 最基
  • 双目线扫描结构光三维重建立体视觉-OpenCV+PCL点云+MFC

    视频 双目线扫描结构光三维重建立体视觉 OpenCV PCL点云 目录 基础知识 双目标定 双目矫正 双目匹配 线激光提取 三维点坐标提取 MFC介绍 OpenCV嵌入MFC
  • java中BigDecimal类的几种舍入模式的详细介绍

    BigDecimal类提供了几种舍入模式 RoundingMode 用于在执行舍入操作时确定如何处理小数部分 下面是BigDecimal类中定义的几种常用舍入模式及其说明 RoundingMode UP 向正无穷方向舍入 即始终对非零舍弃部
  • LDA 用于将文档中的文本分类为特定主题

    数据集 LDA 用于将文档中的文本分类为特定主题 它构建每个文档模型的主题和每个主题模型的单词 建模为 Dirichlet 分布 每个文档被建模为主题的多项分布 每个主题被建模为单词的多项分布 LDA 假设我们输入的每一块文本都将包含某种相
  • sharding-jdbc01-主从分离环境搭建

    一 完全卸载mysql 1 1 查看并删除mysql安装了的东西 rpm qa grep i mysql yum remove XXX 上面查到的结果 1 2 删除mysql相关目录 find name mysql rm rf XXX 上面
  • nginx修改配置后reload原理初探

    前言 nginx启动时 会启动两个进程 一个是Master进程和worker进程 改变配置后nginx做的事 1 改变了nginx配置之后 HUP signal的信号需要发送给主进程 2 主进程首先会检测新配置的语法有效性 3 尝试应用新的
  • php CI框架中调用接口 memcache缓存数据

  • 基于SSM+Layui的图书管理系统项目【1】部署运行

    目录 前言 项目界面 不感兴趣直接从一开始看 一 配置数据库 二 打开项目 三 配置 3 1配置自己的jdk1 8 3 2修改数据库配置 3 3配置Tomcat 四 运行 前言 gitee上发现一个非常优秀的ssm练手项目 达到毕设水准了
  • 什么是AIGC(AI Generated Content, 人工智能生成内容)?

    AI生成内容 AIGC 人工智能生成内容 是一种新型的内容创作方式 它继承了专业生产内容 PGC Professional generated Content 和用户生成内容 UGC User generated Content 的优点 并
  • Mybatis-Plus+SpringBoot结合运用

    目录 前言 一 创建Maven项目导入相关的依赖 二 在resources添加日志和连接数据库 1 日志文件 log4j properties 2 连接数据库 application properties 三 编写pojo 注解编写get