学习:MyBatis Plus (1)

http://【尚硅谷Java项目【尚庭公寓】从0开始Java项目实战】https://www.bilibili.com/video/BV1At421K7gP?p=59&vd_source=435647b5da1386aa0413f7715c71b024

新建库

新建表

插入数据

Mybatis Plus与SpringBoot的集成

创建项目

再引入mybatis plus

复制代码
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.2</version>
</dependency>

设置application.yml

复制代码
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/hello_mp?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8

创建实体类,新建文件夹entity

注解说明

创建Mapper接口,新建文件夹mapper

创建UserMapper.java

创建测试,确定

运行 'testList()'(U),打印出sql语句

创建testSelectById并运行

创建testInsert并运行

创建testUpdateById并运行

创建testDeleterById并运行

创建service接口,新建文件夹service

创建service实现类,新建文件夹Impl

创建测试类

创建testGetById并运行

创建testSaveOrUpdate并运行

创建testSaveBatch并运行

条件构造器,新建文件夹wrapper

创建testQueryWrapper方法并运行

查询name=张三的所有用户

查询邮箱域名为baomidou.com的所有用户

查询所有用户信息并按照age字段降序排序

查询前age介于20,30的所有用户

查询age小于20或大于30的用户

查询邮箱域名为baomidou.com且年龄小于30或大于40的用户

UpdateWrapper

将name=Tom的用户的emai1改为Tom@baobidou.com

创建LambdaWrapperTest

复制代码
package org.example.mybatisplusdemo.wrapper;

import org.example.mybatisplusdemo.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class LambdaWrapperTest {
    @Autowired
    private UserService userService;

    @Test
    public void testLambdaQueryWrapper() {
    }

    @Test
    public void testLambdaUpdateWrapper() {
    }
}

查询name=Tom的所有用户

将name=Tom的用户的邮箱改为Tom@tom.com

分页插件

创建config文件夹

MPConfiguration.java

java 复制代码
package org.example.mybatisplusdemo.config;


import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MPConfiguration {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

创建测试类PageTest

java 复制代码
package org.example.mybatisplusdemo.page;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.example.mybatisplusdemo.entity.User;
import org.example.mybatisplusdemo.mapper.UserMapper;
import org.example.mybatisplusdemo.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class PageTest {
    @Autowired
    private UserMapper userMapper;
    @Autowired
    private UserService UserService;

    @Test
    public void testPageService() {

    }

    @Test
    public void testPageMapper() {

    }

    @Test
    public void testCustomMapper() {

    }

}

service

mapper

自定义mapper

UserMapper.java

java 复制代码
package org.example.mybatisplusdemo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.example.mybatisplusdemo.entity.User;

@Mapper
public interface UserMapper extends BaseMapper<User> {
    IPage<User> selectUserPage(IPage<User> page);

}

在application.yml中添加

java 复制代码
mybatis-plus:
  configuration:
  mapper-locations: classpath*:/mapper/**/*.xml

创建mapper.UserMapper.xml

html 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//oT0 Happer 3.o//EN"
        "http://mybatis.org/atd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.mybatisplusdemo.mapper.UserMapper">
    <select id="selectuserPage" resultType="com.atguigu.hellomp.entity.User">
        select *
        from user
    </select>
</mapper>

运行测试类

MyBatisX

添加数据源

控制台位置

生成配置

下一步

选择

完成

在UserMapper.java处添加@Mapper

全部测试通过

相关推荐
一条破秋裤9 分钟前
STM32 学习笔记:中断系统与 EXTI 外部中断
笔记·stm32·学习
艾莉丝努力练剑25 分钟前
【AI大模型接入SDK】WebSocket & SSE 协议
网络·c++·websocket·网络协议·学习·面试
xieliyu.27 分钟前
计算机网络‑IP 协议解析:核心特性总结
网络·笔记·网络协议·学习·tcp/ip·计算机网络
陈年老古董33 分钟前
PyTorch 实现 MNIST 手写数字识别学习笔记
笔记·python·深度学习·学习
其实防守也摸鱼33 分钟前
智能体推荐:精选 AI Agent 工具与实战指南
运维·开发语言·人工智能·学习·web安全·自动化
吃着火锅x唱着歌1 小时前
Effective C++ 学习笔记 条款45 运用成员函数模板接受所有兼容类型
c++·笔记·学习
0_Karl_01 小时前
永磁爬壁机器人开源资源指南
学习·机器人
Bode_20021 小时前
AI工具/大模型学习
人工智能·学习
小蒜学长2 小时前
springboot党建云课堂学习与管理系统(代码+数据库+LW)
java·数据库·spring boot·后端·学习
是隼人12 小时前
buuctf-pwn xdctf2015_pwn200题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门