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.使用的基本流程

相关推荐
figo10tf9 分钟前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva12 分钟前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露17 分钟前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
小程故事多_8018 分钟前
Agent Infra核心技术解析:Sandbox sandbox技术原理、选型逻辑与主流方案全景
java·开发语言·人工智能·aigc
冰暮流星18 分钟前
sql语言之分组语句group by
java·数据库·sql
望舒51320 分钟前
代码随想录day25,回溯算法part4
java·数据结构·算法·leetcode
黎雁·泠崖22 分钟前
【魔法森林冒险】3/14 Allen类(一):主角核心属性与初始化
java·开发语言
黎雁·泠崖26 分钟前
【魔法森林冒险】1/14 项目总览:用Java打造你的第一个回合制冒险游戏
java·开发语言
NuageL33 分钟前
原始Json字符串转化为Java对象列表/把中文键名变成英文键名
java·spring boot·json
222you1 小时前
Redis的主从复制和哨兵机制
java·开发语言