MyBatis-plus:查询操作、分页查询


目录:

(1)查询操作

(2) 分页查询


(1)查询操作

MyBatis-plus:查询操作、分页查询_第1张图片

 

MyBatis-plus:查询操作、分页查询_第2张图片

MyBatis-plus:查询操作、分页查询_第3张图片 

 

package com.kuang;

import com.kuang.mapper.UserMapper;
import com.kuang.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

@SpringBootTest
class MybatisPlusApplicationTests {
    //测试,我们没有写任何CRUD,测试我们能不能使用
    //继承了BaseMapper,所有的方法都来自父类,我们也可以编写自己的扩展方法
    @Autowired
    private UserMapper userMapper;

    
    //查询测试
    @Test
    public void testSelectById(){
        User user=userMapper.selectById(1L);
        System.out.println(user);
    }
    //批量查询,参数是一个集合,参数我们用数组工具类
    @Test
    public void testSelectByCatchId(){
        List users = userMapper.selectBatchIds(Arrays.asList(1, 2, 3));
        users.forEach(System.out::println);
    }
   //条件查询之使用map
    @Test
    public void testSelectByMap(){
        HashMap map = new HashMap<>();
        //自定义查询
        map.put("name","狂神说Java2");
        map.put("age",3);

        List users = userMapper.selectByMap(map);
        users.forEach(System.out::println);
    }
}

查询测试:

MyBatis-plus:查询操作、分页查询_第4张图片

批量查询:

MyBatis-plus:查询操作、分页查询_第5张图片条件查询值map:

MyBatis-plus:查询操作、分页查询_第6张图片

通过使用MyBatis-plus之后发现 基本的CRUD,都得到了简化,不用再写复杂的sql了

(2) 分页查询

MyBatis-plus:查询操作、分页查询_第7张图片

MyBatis-plus:查询操作、分页查询_第8张图片 

 

 配置类:配置分页插件

package com.kuang.config;

import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@MapperScan("com.kuang.mapper")  //注解扫描,扫描mapper文件
@EnableTransactionManagement //事务注解,自动管理事务
@Configuration //注解代表是一个配置类
public class MyBatisPlusConfig {

    //注册乐观锁插件
    @Bean
    public OptimisticLockerInterceptor optimisticLockerInterceptor(){
        return new OptimisticLockerInterceptor();
    }

    //分页插件 旧版
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

 测试类:

package com.kuang;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kuang.mapper.UserMapper;
import com.kuang.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

@SpringBootTest
class MybatisPlusApplicationTests {
    //测试,我们没有写任何CRUD,测试我们能不能使用
    //继承了BaseMapper,所有的方法都来自父类,我们也可以编写自己的扩展方法
    @Autowired
    private UserMapper userMapper;

    

    //测试分页查询
    @Test
    public void testPage(){
        //参数 参数一:当前页,参数二:页面大小
        Page page= new Page<>(1,5);
        userMapper.selectPage(page,null);

        System.out.println(page.getTotal());
        page.getRecords().forEach(System.out::println);
    }
}

MyBatis-plus:查询操作、分页查询_第9张图片

 

 

你可能感兴趣的:(#,MyBatis框架学习,java,mybatis,junit)