MybatisPlus01

MybatisPlus01

1.MybatisPlus初体验

1.1首先要引入MybatisPlus的依赖

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

1.2定义Mapper接口并继承BaseMapper

java 复制代码
public interface UserMapper extends BaseMapper<User> {
	//在继承时,需要指定操作实体类的泛型
}

1.3直接使用

java 复制代码
package com.itheima.mp.mapper;

import com.itheima.mp.domain.po.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.time.LocalDateTime;
import java.util.List;

@SpringBootTest
class UserMapperTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    void testInsert() {
        User user = new User();
        user.setId(5L);
        user.setUsername("Lucy");
        user.setPassword("123");
        user.setPhone("18688990011");
        user.setBalance(200);
        user.setInfo("{\"age\": 24, \"intro\": \"英文老师\", \"gender\": \"female\"}");
        user.setCreateTime(LocalDateTime.now());
        user.setUpdateTime(LocalDateTime.now());
        userMapper.insert(user);
    }

    @Test
    void testSelectById() {
        User user = userMapper.selectById(5L);
        System.out.println("user = " + user);
    }


    @Test
    void testQueryByIds() {
        List<User> users = userMapper.selectBatchIds(List.of(1L, 2L, 3L, 4L));
        users.forEach(System.out::println);
    }

    @Test
    void testUpdateById() {
        User user = new User();
        user.setId(5L);
        user.setBalance(20000);
        userMapper.updateById(user);
    }

    @Test
    void testDeleteUser() {
        userMapper.deleteById(5L);
    }
}

2.常用注解

MybatisPlus扫描实体类,并基于反射获取实体类信息作为数据库表信息

2.1默认约定

2.2注解使用

当你的实体,不符合默认约定时,就可以使用注解配置

  • @TableName: 用来指定表名 放在实体类的上边
  • @TableId: 用来指定表中的主键字段信息 放在实体类成员变量上边
  • @TableField: 用来指定表中的普通字段信息 放在实体类成员变量上边

3.常用配置

4.使用的基本流程

相关推荐
用户696518007162 分钟前
mybatis分页插件
mybatis
凌辰揽月2 分钟前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法
lifallen8 分钟前
深入浅出 Arrays.sort(DualPivotQuicksort):如何结合快排、归并、堆排序和插入排序
java·开发语言·数据结构·算法·排序算法
长安不见10 分钟前
背景知识: 理解LimitLatch背后的AQS
java
小吕学编程12 分钟前
策略模式实战:Spring中动态选择商品处理策略的实现
java·开发语言·设计模式
weixin_4383354018 分钟前
Spring Boot实现接口时间戳鉴权
java·spring boot·后端
pan_junbiao1 小时前
Spring框架的设计模式
java·spring·设计模式
远方16091 小时前
0x-2-Oracle Linux 9上安装JDK配置环境变量
java·linux·oracle
北执南念1 小时前
CompletableFuture+线程池使用案列
java
黄交大彭于晏2 小时前
发送文件脚本源码版本
java·linux·windows