b站上学习mybatisplus视频笔记

基本介绍

mybatisplus,就是强化版的mybatis,可以简化很多的工作,比较基础的用法的就是对单表的crud,可以不用写sql语句,只需要dao层继承BaseMapper<实体类>,就可以引用各种crud的方法了。以下是简单例子

创建user表

在这里插入图片描述

创建maven项目

在这里插入图片描述

user类

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class User {
    @TableId(value = "id",type = IdType.ID_WORKER)
    private Integer id;
    @TableField(select = false)
    private String name;
    @TableField(value = "age")
    private Integer age;
    @TableField(exist = false)
    private Integer addre;
    @TableLogic(value = "0",delval = "1")
    private Integer deleted;
    @Version
    private Integer version;
}

userdao类

package mybatisTest.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import mybatisTest.pojo.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserDao extends BaseMapper<User> {
}

mpConfig类

package mybatisTest.config;

import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class mpConfig {
@Bean
    public PaginationInterceptor myInterceptor(){
    PaginationInterceptor mybatisPlusInterceptor = new PaginationInterceptor();
        //mpInteceptor.addInnerInteceptor(new PaginationInterceptor());
    return mybatisPlusInterceptor;
    }
    @Bean
    public OptimisticLockerInterceptor optimisticLockerInterceptor(){
    OptimisticLockerInterceptor optimisticLockerInterceptor = new OptimisticLockerInterceptor();
    return optimisticLockerInterceptor;
    }
}

mybatisPlusApplicationTest类

package mybatisTest;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import mybatisTest.dao.UserDao;
import mybatisTest.pojo.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@RunWith(SpringRunner.class)
@SpringBootTest
public class mybatisPlusApplicationTest
{
    @Resource
     UserDao userDao;

    @Test
    public void testUserDao()
    {
        List<User> users = userDao.selectList(null);
        System.out.println(users);
    }
    @Test
    public void testUserDao1()
    {
        System.out.println("hello world");
    }
    @Test
    public void save(){
        User user = new User();
        user.setId(4);
        user.setName("joker");
        user.setAge(22);
        userDao.insert(user);
    }

    @Test
    public void delete(){
        int a = userDao.deleteById(4);
        System.out.println(a);
    }
    @Test
    public void update(){
        User user = new User();
        user.setId(1);
        user.setAge(100);
        int a = userDao.updateById(user);
    }
    @Test
    public void select(){
        User user = userDao.selectById(2);
        System.out.println(user);
    }

    @Test
    public void selectPage(){
        IPage page = new Page(1,3);
        userDao.selectPage(page,null);
        System.out.println(page.getSize());
        System.out.println(page.getPages());
        System.out.println(page.getTotal());
        System.out.println(page.getCurrent());
        System.out.println(page.getRecords());
    }

    @Test
    public void selectQuery(){
        LambdaQueryWrapper<User> lambdaQueryChainWrapper = new LambdaQueryWrapper<User>();
        lambdaQueryChainWrapper.eq(User::getId,1).or().eq(User::getId,2);
        List<User> users = userDao.selectList(lambdaQueryChainWrapper);
        System.out.println(users);
    }

    @Test
    public void selectIfNull(){
        User user = new User();
        user.setAge(30);
        user.setId(3);
     LambdaQueryWrapper<User> lqw = new  LambdaQueryWrapper<User>();
     lqw.lt(null!= user.getAge(),User::getAge,user.getAge());
     lqw.eq(null!= user.getId(),User::getId,user.getId());
        List<User> users = userDao.selectList(lqw);
        System.out.println(users);
    }


    @Test
    public void selectRelaction(){
        QueryWrapper<User> qw = new QueryWrapper<User>();
        qw.select("id","name");
        List list = userDao.selectList(qw);
        System.out.println(list);
    }

    @Test
    public void selectCount(){
        QueryWrapper<User> qw = new QueryWrapper<>();
        qw.select("count(*) as count");
        List<Map<String, Object>> maps = userDao.selectMaps(qw);
        System.out.println(maps);
    }

    @Test
    public void selectGroup(){
        QueryWrapper<User> qw = new QueryWrapper<>();
        qw.select("count(*) as count","age");
        qw.groupBy("age");
        List<Map<String, Object>> maps = userDao.selectMaps(qw);
        System.out.println(maps);
    }

    @Test
    public void selectBetween(){
        LambdaQueryWrapper<User> qw = new LambdaQueryWrapper<>();
        qw.between(User::getAge,20,30);
        List<User> users = userDao.selectList(qw);
        System.out.println(users);
    }
    @Test
    public void SelectLike(){
        LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();
        lqw.like(User::getName,"m");
        List<User> users = userDao.selectList(lqw);
        System.out.println(users);
    }

    @Test
    public void SelectLikeLeft(){
        LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();
        lqw.likeLeft(User::getName,"m");
        List<User> users = userDao.selectList(lqw);
        System.out.println(users);
    }

    @Test
    public void SelectLikeRight(){
        LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();
        lqw.likeRight(User::getName,"m");
        List<User> users = userDao.selectList(lqw);
        System.out.println(users);
    }

    @Test
    public void save2(){
        User user = new User();
        user.setName("jessica");
        user.setAge(20);
        userDao.insert(user);
    }



    @Test
    public void selectList(){
        List<Integer> ids = new ArrayList<>();
        ids.add(3);
        ids.add(4);
        ids.add(5);
        List<User> users = userDao.selectBatchIds(ids);
        System.out.println(users);
    }

    @Test
    public void deleteLogic(){
        int i = userDao.deleteById(5);
        List<User> users = userDao.selectList(null);
        System.out.println(users);
    }

    @Test
    public void updateLeGuanLock(){
        User user = userDao.selectById(2);
        user.setAge(32);
        userDao.updateById(user);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值