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

相关推荐
代码or搬砖43 分钟前
MyBatisPlus中的常用注解
数据库·oracle·mybatis
q***38511 小时前
SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由
java·spring cloud·gateway
小白学大数据1 小时前
Python爬虫伪装策略:如何模拟浏览器正常访问JSP站点
java·开发语言·爬虫·python
程序员西西2 小时前
SpringBoot接口安全:APIKey保护指南
java·spring boot·计算机·程序员·编程·编程开发
summer_west_fish2 小时前
单体VS微服务:架构选择实战指南
java·微服务·架构
v***8572 小时前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
烤麻辣烫3 小时前
黑马程序员大事件后端概览(表现效果升级版)
java·开发语言·学习·spring·intellij-idea
q***96583 小时前
Spring总结(上)
java·spring·rpc
思密吗喽3 小时前
宠物商城系统
java·开发语言·vue·毕业设计·springboot·课程设计·宠物
ss2733 小时前
019:深入解析可重入互斥锁:原理、实现与线程安全实践
java·数据库·redis